μC/OS-III内核实现与应用开发实战指南:基于STM32
上QQ阅读APP看书,第一时间看更新

4.1 SysTick简介

表4-1 SysTick寄存器汇总

RTOS需要一个时基来驱动,系统任务调度的频率等于该时基的频率。通常该时基由一个定时器来提供,也可以从其他周期性的信号源获得。恰好Cortex-M内核中有一个系统定时器SysTick,它内嵌在NVIC中,是一个24位的递减的计数器,计数器每计数一次的时间为1/SYSCLK。当重装载数值寄存器的值递减到0时,系统定时器就产生一次中断,按此循环。因为SysTick是嵌套在内核中的,所以不必修改操作系统在Cortex-M器件中编写的定时器代码,这使移植工作变得简单很多,因此SysTick是最适合给操作系统提供时基,用于维护系统心跳的定时器。有关SysTick的寄存器汇总如表4-1所示,常用寄存器的用法如表4-2~表4-4所示。

表4-2 SysTick控制及状态寄存器

表4-3 SysTick 重装载数值寄存器

表4-4 SysTick当前数值寄存器