STM32使用SysTick精准延时
前言
SysTick—系统定时器是属于 CM3 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit 的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置系统时钟 SYSCLK 等于 72M。当重装载数值寄存器的值递减到 0 的时候,系统定时器就产生一次中断,以此循环往复。
比用for或者while循环做的delay()延时程序好,是因为这两个就是delay一直占用cpu,而systick一般都采用中断方式,,不占用cpu。除非任务很简单。
SysTick.h
#include "SysTick.h"
#include "stm32f10x.h"
//毫秒延时
void ms_delay(uint32_t ms

本文介绍了如何利用STM32的SysTick系统定时器实现毫秒级和微秒级的精准延时。SysTick是一个24位向下计数的定时器,与CPU并行工作,不占用CPU资源。通过配置SysTick_Config函数,可以设置定时器在特定频率下计数,达到延时效果。在延时过程中,通过检查CTRL寄存器的位16来判断计数是否完成,从而实现延时。最后,关闭SysTick定时器以释放资源。
最低0.47元/天 解锁文章
6762

被折叠的 条评论
为什么被折叠?



