前言
本人是一名嵌入式学习者,在大学期间也参加了不少的竞赛并获奖,包括:江苏省电子设计竞赛省一、睿抗机器人国二、中国高校智能机器人国二、嵌入式设计竞赛国三、光电设计竞赛国三、节能减排竞赛国三等。
暑假的时候参加了太多的比赛,作为队长要写代码、材料文档,几乎是比完赛过几天又要去其他比赛了,前段时间都在休息,现在才有时间来记录一下。后面会经常写一下博客分享一下,如果想了解其他项目、技术,可以去B站搜:星汇极客,主页链接:星汇极客B站
此外,还开发了个人网站,里面有一些资料和源码供下载:星汇极客
一、任务管理
1-2删除任务
在1-1的代码基础上,在task2函数里添加删除任务函数。
(1)删除任务函数有几种:
自杀: vTaskDelete(NULL)
被杀:别的任务执行 vTaskDelete(pvTaskCode) ,pvTaskCode是自己的句柄
杀人:执行 vTaskDelete(pvTaskCode) ,pvTaskCode是别的任务的句柄
这里要在task2执行完一次后删除任务,
(2)用vTaskDelete(NULL); 或vTaskDelete(Task2Task_Handler);都可以。
void task2(void *pvParameters)
{
while(1)
{
printf("hello world\r\n");
vTaskDelay(1000); /* 延时1000ticks */
vTaskDelete(NULL);
//vTaskDelete(Task2Task_Handler);
}
}
(3)烧录代码,可以看到串口只输出了一次。
至此,删除任务完成,下一篇:
【星汇极客】手把手教学STM32 HAL库+FreeRTOS之任务管理(2)-CSDN博客
关注下方获取源码、资料: