1、SYSTick是一个24位的定时器,即一次最多可以计数2^24个时钟脉冲,这个脉冲计数值被保存到当前计数值寄存器STK_VAL中,只能向下计数,每接收到一个时钟脉冲STK_VAL的值就向下减1,直至为0;当STK_VAL的值被减至0时,由硬件自动把重载寄存器STK_LOAD中保存的数据加载到STK_VAL,重新向下计数。当STK_VAL的值被计数至0时,触发异常,就可以在中断服务函数中处理定时事件。
2、定时时间的计算
在调用SysTick_Config()函数时,向它输入的参数为SystemCoreClock/100000,SystemCoreClock为定义了系统时钟(SYSCLK)频率的宏,即等于AHB的时钟频率。
SysTick定时器的定时时间(配置为触发中断,即为中断周期)由ticks参数决定,最大定时周期不能超过2^24个。
STM32之SysTick(系统滴答定时器)
最新推荐文章于 2023-11-12 22:39:05 发布