这里写目录标题
- 一、延时函数介绍(了解)
- 二、延时函数解析(熟悉)
- 三、延时函数演示实验(掌握)
一、延时函数介绍(了解)
相对延时:指每次延时都是从执行函数vTaskDelay()开始,直到延时指定的时间结束
绝对延时:指将整个任务的运行周期看成一个整体,适用于需要按照一定频率运行的任务
(1)为任务主体,也就是任务真正要做的工作
(2)是任务函数中调用vTaskDelayUntil()对任务进行延时
(3)为其他任务在运行
二、延时函数解析(熟悉)
三、延时函数演示实验(掌握)
1、实验目的:学习 FreeRTOS 相对延时和绝对延时API 函数的使用,并了解其区别
2、实验设计:将设计三个任务:start_task、task1,task2
三个任务的功能如下:
为了直观显示两个延时函数的区别,将使用LED0(PB1) 和 LED1(PB0) 的翻转波形来表示
/* 任务一,演示相对延时函数 */
void task1( void * pvParameters )
{
while(1)
{
LED0_TOGGLE(); /* PB1 */
delay_ms(20);
vTaskDelay(500);
}
}
/* 任务二,演示绝对延时函数 */
void task2( void * pvParameters )
{
TickType_t xLastWakeTime;
xLastWakeTime = xTaskGetTickCount();
while(1)
{
LED1_TOGGLE(); /* PB0 */
delay_ms(20);
vTaskDelayUntil(&xLastWakeTime,500);
}
}