vTaskSetTimeOutState() 是FreeRTOS中的一个函数,用于设置任务的超时状态,以便在后续调用中检测任务是否在指定时间内完成。这通常与 xTaskCheckForTimeOut() 函数一起使用,适用于需要精确控制时间的任务。
用法示例
初始化超时状态:
TaskHandle_t xTaskHandle;
TickType_t xTimeOut;
TimeOut_t xTimeOutState;
vTaskSetTimeOutState(&xTimeOutState); // 初始化超时状态
检查超时:
if (xTaskCheckForTimeOut(&xTimeOutState, &xTimeOut) == pdTRUE) {
// 超时处理
}
关键点
vTaskSetTimeOutState() 不会阻塞任务,只是记录当前时间状态。
适合用于需要定时检查的任务逻辑。
确保在合适的上下文中使用,通常在任务循环内。