μC-OSⅡ操作系统任务调度

如何描述一个task

代码描述
在这里插入图片描述
把内部的固定执⾏函数来看,task就是⼀个执⾏的函数,⼀个⽆限循环的void函数

• 为什么是⽆限循环? 因为⼀个任务要在系统当中不断地调度,⽽不是⽤⼀次就废了
• 为什么返回void,task是独⽴存在的,不需要为其他task做什么(即便需要也是共享或者通信)

下⾯我们通过代码进程块来了解⼀下task进程块在计算机当中的使⽤(调度)⽅法。
在这里插入图片描述
在这里插入图片描述
上⾯两段代码分别是两个task的代码。在循环外的代码主要⽬的是设置时钟节拍(晶体振荡器),剩下⼏个是寻找对应的引脚来控制指定引脚灯的开关(初始化)

A控制开灯,B控制关灯。

在µcOS操作系统当中维护着⼏个队列

  1. 就绪队列:等待执⾏的task,等待现在正在执⾏的task退出然后即可进⼊
  2. 延迟队列:延时的时间节拍不为0,暂时不能执⾏

为了防⽌CPU空转,在任务管理器当中设置⼀个空任务IDLE,简单讲就是占着茅坑

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值