浅谈UCOSIII任务管理

    UCOSIII是一个广泛应用于嵌入式设备的小型嵌入式实时操作系统,小巧而具备操作系统的特性,可以说是麻雀虽小五脏俱全。

    对于单核处理器,在任何时刻,都控制器只能处理一个任务。这样的特性明显是不能满足各种设备的需求的,必须用多线程才能设计出一个比较好的作品。为了使处理器能实现处理不同任务的能力,在硬件上,MCU引入了中断的方式,有多种中断方式,如定时器中断,串口中断,外部中断等。但仅仅依靠硬件的中断方式,处理起多任务来还是略显无力,使用软件方式实现多任务管理是一个比较好的方法。UCOSIII的任务管理做的就是这个事情。

    UCOSIII在UCOSII的基础上完善并增加了许多功能,如理论上支持无数量限制的任务,任务优先级允许相同,支持时间片轮调度等。

    要实现多任务管理,首先需要创建任务。UCOSIII提供任务创建的服务函数OSTaskCreate( ) ;而任务函数通常是一个无限循环型,入口参数是一个空型指针,使用时可以传入一定的数据结构,可以实现一个函数管理仅参数不同的任务。如串口的初始化。 需要注意的是,创建任务和删除任务都会给处理器带来一定的开销,嵌入式设备中应尽量减小这类代码,切勿创建任务,完成后删除,需要时再创建这样。实际上,UCOS中删除任务的服务函数并没有真正地删除一个任务,该任务还是存在于RAM区,只是UCOS使该被删除的任务无法获得CPU的使用权而已。

待续...

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值