FreeRTOS学习(八) 延时函数
声明及感谢: 跟随正点原子资料学习, 在此作为学习的记录和总结 环境 keil , stm32f103
FreeRTOS延时函数有两个 分别是: vTaskDelay() vTaskDelayUntil()
1.vTaskDelay() 任务相对延时. 函数原型: void vTaskDelay( const TickType_t xTicksToDelay ) 参数: 为延时个数, 通常情况下,将延时单位转换成ms, 这样 延时时间为 参数值 * 1ms 这个函数不能保证一个周期性任务的频率。
2.vTaskDelayUntil() 任务绝对延时 该函数用在周期性任务以保证任务执行频率的稳定 函数原型: void vTaskDelayUntil( TickType_t * const pxPreviousWakeTime, const TickType_t xTimeIncrement )
参数: pxPreviousWakeTime 上一次任务延时结束被唤醒的时间, 任务中 第一次调用函数,需要将pxPreviousWakeTime 初始化进任务的循环体的中, 在以后的运行中, 会被自动更新。
xTimeIncrement 任务需要延时时间的节拍数。(相对于pxPreviousWakeTime 本次延时的节拍数)
vTaskDelayUntil() 函数使用例子 例程:
