使用过nop()延时,够用,但是不够精准
如何才能在单片机内实现精准定时和延时
1、滴答定时器(片上外设)
对于M3内核来说,定时器分为2个:一个是用于非安全洗的顶大定时器,另一个个用于安全系的滴答定时器。
滴答定时器由4个寄存器用于控制和获取状态。
控制和状态寄存器:当计数到0时,控制其重新计数
重载值寄存器:重新计数时,去哪个值来开始计数
当前计数值寄存器:当前数值寄存器
校验值寄存器:校准数值寄存器
24位向下计数,当计数到0时,以重装载值里面的值重新计数。
STM32主频为72Mhz,1s中可以计数72000000次;1s=1000ms
那么1us就需要计数72次。
2、STM32中定时器分类以及相关作用
STM32中定时器分类:通用定时器(在基础定时器的功能上添加了输入捕获和输出比较)、基本定时器、高级定时器