STM32常见应用分析 arm 单片机 时钟 入门 深入
应用SysTick实现短时延迟
Cortex-M3的内核中包含一个SysTick时钟。SysTick 为一个24位递减计数器,SysTick设定初值并使能后, 每经过1个系统时钟周期,计数值就减1。计数到0时, SysTick计数器自动重装初值并继续计数,同时内部的 COUNTFLAG标志会置位,触发中断(如果中断使能)。
在STM32的应用中,使用Cortex-M3 内核的SysTick作为定时时钟,设定每 一毫秒产生一次中断,在中断处理函数 里对N减一,在Delay(N)函数中循环检 测N是否为0,不为0则进行循环等待; 若为0则关闭SysTick时钟,退出函数。
延迟时间将不随系统时钟频率改变。
6