由于现在学习的是以寄存器库为基础来实现功能,所以以后的知识点和代码都是以寄存器库来配置的,还有目前现在用的板子是STM32F407VET6,该笔记只是自己的见解和理解,大佬勿喷。
5.1 系统滴答定时器介绍
5.1.1 定时器
定时器 = 计数器
定时器的本质:有规律的计数
有规律:固定时钟频率 ---> 数一个数的速度 0 -> 1 1us
计数 :定时器中会有可控计数器(数数) 设置数去数 1000 --> 0
定时器定时原理:
通过时钟源可知1s计数次数
通过要定时的秒数 * 每秒计数的次数 来决定定时器中的计数器所需要计数的次数
计算出周期 时间(T)
5.1.2 定时器分类
内核级定时器(系统滴答定时器)
延时 定时中断 (给系统提供时钟节拍) 给实时操作系统提供时基(任务调度) FreeRTOS UCOSII 5ms
基本定时器
延时 定时中断 时间片(实现两盏LED灯同时以一个不同速度闪烁,轮询标志位的改变) (M4两个 TIM6 TIM7) 开启DAC转换
通用定时器
延时 定时中断 输出比较(PWM) 输入捕获(捕获高/低电平时间) 红外信号解码(解NEC)、按键时长、超声波测距 逻辑分析仪(IIC SPI) 示波器
高级定时器
延时 定时中断 输出比较 输入捕获 电机死区 刹车
其他定时器
看门狗 --- 产生复位
RTC --- 1s定时期 ---- 实时时钟(RTC显示时间)
5.1.3 系统滴答定时器
系统滴答定时器是CM4核心内部集成的一个简单定时器硬件模块,SysTick(系统滴答定时器)属于NVIC一部分