FreeRTOS学习了一个星期了,感觉有很多API看过就忘其使用方法,现在开始写博客记录自己的学习历程,以后方便翻阅
1.系统时钟节拍
FreeRTOS设置了一个全局变量xTickCount作为系统时钟节拍计数器,在task.c中的定义如下
PRIVILEGED_DATA
static volatile
TickType_t xTickCount
=
(
TickType_t
)
configINITIAL_TICK_COUNT
;
在这个代码里xTickCount被定义了初值,由宏定义configINITIAL_TICK_COUNT决定,初值一般为0。而这个系统时钟节拍就来源于SysTick滴答定时器。
2.SysTick定时器
是一个简单的定时器,为24位定时器,从上向下计时,当计时为0时,RELOAD寄存器重新装在定时器初值。
3.在FreeRTOS系统中,首先由
xTaskGetSchedulerState()判断任务调度器是否运行,如果任务调度器在运行状态,就会使用函数
xPortSysTickHandler()处理FreeRTOS的时钟节拍