版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaolongwoaini99/article/details/79561680
SysTick寄存器一共由四个
控制与状态寄存器:SysTick_CTRL
重装值寄存器:SysTick_LOAD
当前值寄存器:SysTick_VAL
校准寄存器:SysTick_CALRB
简单的延时只用到两个寄存器SysTick_CTRL、SysTick_LOAD。
1.控制状态寄存器:SysTick_CTRL
其中第16位为状态标志,当从上次重装开始减到0,则该位被置1,且被读取后自动清零。
CLKSOURCE=1 使用内部时钟,=0 使用外部参考时钟。
TICKINT=1 向下计数到0时会导致SysTick处理器挂起。=0 不会挂起且软件可以使用CLKSOURCE
判断计时是否到0。
ENABLE=1 开启计数器工作连拍模式,=0禁止计数器。
SysTick_LOAD:则是用于装载最大24位的数值。
简单一毫秒设置如下:
理论上是1ms延时是 72000*time 才对,用示波器测的是7990*time