
SysTick是STM32中的系统定时器,利用SysTick可以实现精确的延时。 SysTick—系统定时器 属于 CM3 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit 的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置系统时钟 SYSCLK 等于 72M。当重装载数值寄存器的值递减到 0 的时候,系统定时器就产生一次中断,以此循环往复。因为 SysTick 是属于 CM3 内核的外设,所以所有基于 CM3 内核的单片机都具有这个系统定时器,使得软件在 CM3 单片机中可以很容易的移植。系统定时器一般用于操作系统,用于产生时基,维持操作系统的心跳。 延时模式: SysTick的延时可以有俩种模式: 1.单纯递减延时 2.利用void SysTick_Handler(void) 中断函数延时 俩种方法都涉及到一个函数,那就是SysTick 配置库函数 ,
其主要任务是装填计时器初始值、设置时钟源、设置中断源优先级。初始值不能超过2^24,时钟源一般为72M。 ![]() 1.单纯递减延时 毫秒级延时
2.利用void SysTick_Handler(void) 中断函数延时 毫秒级延时
在stm32f10x_it.c中的代码如下:
———————————————— 版权声明:Aspirant-GQ 如有侵权请联系删除 |