FreeRTOS学习(八) 延时函数

  • Post author:
  • Post category:其他


声明及感谢: 跟随正点原子资料学习, 在此作为学习的记录和总结

环境 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() 函数使用例子

例程:

http://www.freertos.org/vtaskdelayuntil.html



版权声明:本文为longjingcha110原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。