任务创建和删除(动态方式)——学习笔记2

本文是笔者在学习 正点原子官方 的《【正点原子】手把手教你学FreeRTOS实时系统》系列视频时整理的笔记。
视频讲解清晰透彻,非常感谢UP主的无私奉献!原课程链接如下:
👉 B站视频链接:【正点原子】手把手教你学FreeRTOS实时系统_哔哩哔哩_bilibili

在freertos_demo.c中编写

1、头文件

2、FreeRTOS的配置

3、创建第一个任务start_task

该任务是用来创建其它的三个任务,可在task.h看例程,记得开启任务调度器

4、创建三个任务

因为任务切换是在中断中运行的,进入临界区之后就不会进行任务切换,退出临界区才开始任务调度。在任务函数开始的时候进入临界区,最后退出临界区。这样子就不会一创建任务就立马调度任务,而是看优先级去调度。临界区保护,就是保护那些不想被打断的程序段。

5、分别写出三个任务功能

第一个任务是实现LED0每500ms闪烁一次,第二个任务是实现LED1每500ms闪烁一次,第三个任务是判断KEY0是否被按下,按下则删掉任务一。

不要舍弃vTaskDelay()函数,如果舍弃了,这个任务就会一直占用CPU资源,其它任务执行不了,因为任务调度是在中断中执行的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值