野火 STM32
未读一、中断概述中断时出现某些意外需要主机干预,机器能自动停止运行的程序,转入新的处理的程序,处理完之后返回程序被暂停的程序,继续运行。
异常就是中断,中断就是异常。
异常分为:系统异常和外部中断。
二、NVIC介绍NVIC是嵌套向量中断控制器,控制芯片中断的功能。
一般来说,使用ISER(使能中断)、ICER(失能中断)和IP(设置中断优先级)寄存器。
(不常用)
三、优先级中断优先级寄存器NVIC_IPRx,用来配置外部中断的优先级。如果抢占优先级相同,九比较子优先级,如果都相同,比较硬件中断编号,编号越小,优先级越高
四、优先级分组优先级分组由外设SCB的应用程序中断和复位控制寄存器AIRCR的PRIGROUP[10:8]决定,主优先级=抢占优先级
12345678910111213141516171819202122/*** 配置中断优先级分组:抢占优先级和子优先级* 形参如下:* @arg NVIC_PriorityGroup_0: 0bit for 抢占优先级* 4 bits for 子优先级* @arg NVIC_PriorityGroup_1: 1 bit f ...
在wsl的ubuntu安装idf遇到没有串口的报错,是因为wsl不自带usb的驱动,需要手动安装
教程使用他人的:https://blog.csdn.net/qq_40695642/article/details/127270039
华为云IOT连接
未读ESP32连接华为云我使用的是arduinoied所写的代码,要注意,在mqtt请求华为云中,需要写心跳间隔,不然上云不了(client.setKeepAlive(60); //心跳间隔,很重要!!!)。代码如下:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147#include <ArduinoJson.h>#include <WiFi. ...
野火STM32
未读1、RCC主要作用 时钟部分设置系统时钟SYSCLK、设置AHB分频因子(决定HCLK等于多少)、设置APB2分频因子(决定PLCLK2等于多少)、设置APB1分频因子(决定PLK1等于多少)、设置各个外设的分配因子。控制 AHB、APB2 和 APB1 这三条总线时钟的开启、控制每个外设的时钟的开启。对于 SYSCLK、HCLK、PCLK2、PCLK1 这四个时钟的配置一般是:HCLK = SYSCLK=PLLCLK ,PCLK1=HCLK/2,PCLK1=HCLK/4 。
2、RCC时钟树库函数时钟系统始终函数:SetSysClock()。
HSE时钟树设置为:
HCLK=SYSCLK=PLLCLK=180M(F429)
PCLK1=HCLK/2=90M(F429)
PLCK1=HCLK/4=45M(F429)
2.1系统时钟2.1.1HSE是高速的外部时钟信号,有无源/有源晶振提供,频率4-26MHZ。
有源晶振,时钟从 ...
鸿蒙开发
未读一、TS基础语法二、声明变量
二、条件控制
三、循环迭代
四、函数
五、类和接口
六、模块
七、UI布局分析
八、image组件
一些代码示例
华为IOT平台连接
未读一、查看接入信息
二、创建产品
三、注册设备
野火 STM32
未读7.1启动文件介绍1、初始化堆栈指针 SP=_initial_sp
2、初始化PC指针 =Rest_Handler
3、初始化中断向量表
4、配置系统时钟
5、调用C库函数_main初始化用户堆栈,调用main函数
7.2 ARM汇编指令EQU:给数字常量去一个富豪们,相当于C语言的define
AREA:汇编一个新的代码段或者数据段
SPACE:分配内存空间
PRE-SERVE8:当前文件堆栈按照8位字节对齐
EX-PORT:声明一个符号具有全局属性,可被外部的文件使用
DCD:字节单位分配,要求4字节对齐,要去初始化这些内存
PROC:定义子程序,与ENDP成对使用,表示子程序结束
WEAK:弱定义,如果外部文件声明了一个标号,则优先使用外部文件定义的标号,如果外部文件没有定义也不出错。要注意的是:这个不是 ARM 的指令,是编译器的,这里放在一起只是为了方便。
IM-PORT:跳转到一个符号
ALIGN:编译器对指令或者数据的存放地址进行对齐,一般需要跟一个立即数,缺省表示 4 字节对齐要注意的是:这个不是 ARM 的指令,是编译器的,这里放在一起只是为了方 ...
2.1 算法定义算法是解决特定问题求解步骤的描述,计算机中表现位指令的有限序列,并且每条指令表示一个或多个操作。
2.2 算法的特性算法具有:输入、输出、有穷性、确定性和可行性。
2.2.1 输入输出算法具有零个或多个输入和至少一个或多个输出。
2.2.2 有穷性指的是算法在执行有限步骤之后,自动结束而不会出现无限循环,并且每一个步骤可接受在时间内完成。
2.2.3 确定性算法的每一步骤具有确定的含义,不会出现二义性。
2.2.4 可行性算法的每一步都必须可行的,每一步都能狗通过执行有限次数完成。
2.3 算法设计的要求2.3.1 正确性指的是至少具有输入、输出和加工处理无歧义性,能正确反映问题的需求,能够得到问题的正确答案。
2.3.2 可读性算法设计的另外一个目的,为了便于阅读、理解和交流。
2.3.3 健壮性输入数据不合法,算法也能够做出相关处理,而不是产生异常或者莫名其妙的结果。
2.3.4 时间效率高和存储量低时间效率高:算法的执行时间。存储量低:执行过中需要的最大存储控件,运行时所占用的内存或外部硬盘存储控件。
应该满足时间效率和存储量低的需求。
2.4 算法效率的度量方法 ...
数据结构
未读1.基本术语1.1 数据数据:描述客观事物的符号,计算机中可以操作的对象,能被计算机识别并输入计算机处理的符号集合。
1.2数据元素数据元素:组成数据、有一定意义的单位,计算机中通常作为整体处理,也被称为记录。
1.3数据项数据项:一个数据元素可以由若干个数据项组成。
数据项是数据不可分割的最小单位。
1.4 数据对象数据对象:性质相同的数据元素的集合,数据的子集。
性质相同的意思是指数据元素具有相同数量的类型的数据项。如,人都有姓名、生日等数据项。
1.5 数据结构简单来说就是关系,比如分子结构,组成分子的原子之间的排列方式。
严格来说,结构是指各个组成部分相互搭配和排序的方式。
在现实中,不同数据元素之间不是独立的,而是存在特定的关系,称为结构。
数据结构:相互之间存在一种或多种特定关系的数据元素的集合。
1.2 逻辑机构与物理结构逻辑结构是指数据对象中数据元素之间的相互关系。
1.2.1 集合结构(1)集合结构集合结构中数据元素除了同属于一个集合外,它们之间没有其他关系。
(2)线性结构数据元素之间是一对的关系。
(3)树形结构数据元素之间存储一种一对多的层次关系。
(4) ...