软件定时器结构体
/* 软件定时器结构体 */
typedef struct tmrTimerControl
{
const char *pcTimerName; /* 定时器名字 */
ListItem_t xTimerListItem; /* 定时器列表项 */
TickType_t xTimerPeriodInTicks; /* 定时器定时时间 */
UBaseType_t uxAutoReload; /* 定时器周期模式 */
void *pvTimerID; /* 定时器ID */
TimerCallbackFunction_t pxCallbackFunction; /* 定时器回调函数 */
#if (configUSE_TRACE_FACILITY == 1)
UBaseType_t uxTimerNumber;
#endif
#if ((configSUPPORT_STATIC_ALLOCATION == 1) && (configSUPPORT_DYNAMIC_ALLOCATION == 1))
uint8_t ucStaticallyAllocated;
#endif
}xTIMER;
typedef xTIMER Timer_t;
软件定时器守护任务
FreeRTOS的软件定时器是通过守护进程来实现的,在系统启动调度器的时候,会创建定时器守护任务