提示:文章
文章目录
前言
前期疑问:
本文目标:
一、背景
最近
二、
2.1 基本定时器
2.1.1 背景
1、今天重新看了资料,又知道定时器分为基本定时器、通用定时器和高级定时器
然后今天看的就是基本定时器,先不去管具体配置过程,我这边描述一下基本的大概情况:
2.1.2 首先第一个就是定时器是什么?
定时器是stm32内部的外设,具有计数寄存器,计数寄存器可以向上向下计数,达到计数值后可以触发中断。是单片机内部资源,不需要其他外部设备。
2.1.3 第二个是定时器时间怎么计算
首先要知道的就是定时器的时钟来源是系统时钟,然后经过定时器分频。有个寄存器psc就是配置分频系数的。经过psc分频后的频率值TIM_Hz = SYS/(psc+1)。比如系统时钟频率是72M,psc设置成71时,定时器频率就是72M/(71+1)=1M。然后计数一次的时间就是1/TIM_hz=1/1M= 1us,设置重装载计数器寄存器值ARR为1000,那么等重装载计数器计数到0,一共计数1000次进入中断,即计数1us*1000=1ms进入中断。定义一个变量times,如果设置times值为1000后翻转led灯电平,即经过1000次中断后翻转led灯电平,即1s钟翻转led灯电平。实现led灯1s闪烁。
以上就是定时器计时计算方式。
现在有个问题,那就是jd之前代码电路板运行灯是怎么控制闪烁的?答:应该是靠滴答定时器计时闪烁的。
基本定时器章节,剩下的就是定时器和中断配置方式了。
2.2
三、
3.1
总结
未完待续