1.SysTick定时器
SysTick定时器用来产生操作系统需要的滴答中断,作为整个系统的时基。SysTick定时器可以产生周期性中断,用户程序不能随意访问它的寄存器,SysTick定时器是维持操作系统“心跳”的节律。SysTick定时器可以为多个任务许以不同的时间片,确保没有一个任务能够霸占系统;或者把每个定时器周期的某个时间范围赐予特定的任务;SysTick定时器还可以为操作系统提供各种定时功能。SysTick定时器由4个寄存器控制。
2.SysTick实现延时
在SMT32中,利用SysTick来实现延时,既不占用中断,也不占用系统定时器。SysTick是一个24位的倒计数定时器,当计数到0时,将从RELOAD寄存器中自动重装载定时初值,开始下一轮计数。只要不把它在SysTick控制及状态寄存器中的使能位清除,就用不停息的工作。
以UCOSII为例,介绍如何实现操作系统和delay函数共用SysTick定时器。ucos运行时需要一个系统时钟节拍(类似