FreeRTOS_初步了解多任务并行

该实验介绍了RTOS如何实现基于时间片的多任务运行,详细讲解了抢占式运行机制,其中FreeRTOS中的vTaskDelay函数允许任务在延时中释放CPU。通过创建两个不同优先级的任务控制LED闪烁,验证了任务调度和优先级影响。

上次实验我们初步了解了RTOS的作用,这次实验我们主要学习RTOS的多任务并行和了解抢占运行的优势。

基于时间片的多任务运行基本机制

时间片:RTOS将CPU时间分成基本的时间片,每一个时间片的默认长度是1ms,也就是SisTick定时器的定时周期,在一个时间片内会有一个任务占用CPU执行任务,在时间片结束时会进行任务调度。

在抢占式运行时系统会按照优先级进行任务调度,同级别任务会轮流执行:即每个时间片结束时会切换同级别的任务,然后将自己的进度存入栈中;不同级别的会先执行高级别任务,高级别任务结束或者处于阻塞、挂起状态时,低级别任务才会执行;在低级别任务执行时要是有高级别任务进入就绪态,会立刻执行高级别的任务。

注意:在FreeRTOS中延时函数要使用vTaskDelay()函数,因为这个函数可以让任务在延时时释放CPU的使用权,然后系统会让其他任务使用CPU。

多任务编程实现

本次实验需要使用开发板上的LED2和LED3,用于在FreeRTOS中创建两个不同的任务,来验证任务的运行机制

CobeMX设置

首先

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值