软件定时器
创建软件定时器 xTimerCreate
创建一个软件定时器,新创建的软件定时器处于休眠状态,也就是未运行的。
TimerHandle_t xTimerCreate( const char * const pcTimerName,
TickType_t xTimerPeriodInTicks,
UBaseType_t uxAutoReload,
void * pvTimerID,
TimerCallbackFunction_t pxCallbackFunction );
| pcTimerName | 软件定时器名字,名字是一串字符串,用于调试使用。 |
|---|---|
| xTimerPeriodInTicks | 软件定时器的定时器周期, 单位是时钟节拍数。可以借助portTICK_PERIOD_MS 将 ms 单位转换为时钟节拍数。 |
| uxAutoReload | 设置定时器模式,当此参数为 pdTRUE的时候表示创建的是周期定时器。如果为 pdFALSE 的话表示创建的是单次定时器。 |
| pvTimerID | 定时器 ID 号,一般情况下每个定时器都有一个回调函数,当定时器定时周期到了以后就会执行这个回调函数。但是 FreeRTOS 也支持多个定时器共用同一个回调函数,在回调函数中根据定时器的 ID 号来处理不同的定时器。 |
| pxCallbackFunction | 定时器回调函数,当定时器定时周期到了以后就会调用这个函数。 |
| return | NULL:软件定时器创建失败。 其他值:创建成功的软件定时器句柄。 |
开启任务定时器 xTimerStart
启动任务定时器
BaseType_t xTimerStart( TimerHandle_t xTimer, TickType_t xTicksToWait );
| xTimer | 定时器句柄 |
|---|---|
| xTicksToWait | 成功启动定时器前的最大等待时间设置,单位系统时钟节拍 |
| return | pdPASS:软件定时器开启成功 pdFAIL:软件定时器开启失败 |
停止软件定时器 xTimerStop
停止一个软件定时器
BaseType_t xTimerStop( TimerHandle_t xTimer, TickType_t xTicksToWait );
| xTimer | 要停止的软件定时器的句柄。 |
|---|---|
| xTicksToWait | 设置阻塞时间 |
| return | pdPASS:软件定时器停止成功 pdFAIL软件定时器停止失败 |
本文详细介绍了FreeRTOS中软件定时器的创建、启动及停止方法。包括如何使用xTimerCreate函数创建定时器,xTimerStart函数启动定时器以及xTimerStop函数停止定时器等关键操作。
1119

被折叠的 条评论
为什么被折叠?



