中易网

ucos ii 怎么确定建立几个任务

答案:3  悬赏:60  
解决时间 2021-01-11 07:29
  • 提问者网友:战皆罪
  • 2021-01-10 17:32
ucos ii 怎么确定建立几个任务
最佳答案
  • 二级知识专家网友:鸽屿
  • 2021-01-10 19:05
ucosⅡ2.86版本之前支持64个任务,系统一般要占用最低两个优先级用作空闲任务和统计任务(假如初始化了统计任务)。ucosⅡ2.86版本起支持256任务,同样是最低优先级两个任务用作系统任务。ucosⅢ支持最大任务数没有限制。不过一般来说,不会把这些任务数设定的太大,每一个人物在系统初始化的时候,都需求分配一块内存作为任务的控制块。把最大任务书设定的太大,要占用许多的ram空间。设定ucos任务数的原则应该是够用就好。
全部回答
  • 1楼网友:酒醒三更
  • 2021-01-10 21:01
引用回复尽快尽快的回答:
ucosⅡ2.86版本之前支持64个任务,系统一般要占用最低两个优先级用作空闲任务和统计任务(假如初始化了统计任务)。ucosⅡ2.86版本起支持256任务,同样是最低优先级两个任务用作系统任务。ucosⅢ支持最大任务数没有限制。不过一般来说,不会把这些任务数设定的太大,每一个人物在系统初始化的时候,都需求分配一块内存作为任务的控制块。把最大任务书设定的太大,要占用许多的ram空间。设定ucos任务数的原则应该是够用就好。为什么我的uC/OS-II V2.91也只有64个任务?说明任务数量不是光看版本,要看源码里的设置
  • 2楼网友:持酒劝斜阳
  • 2021-01-10 20:43
假如有abc三个任务,任务优先级a>b>c,由于a优先级最高,故而一开始ucOS会挑a来先运行。a运行期间,b、c任务都不会被运行,除非a任务主动进行等待(可以是等待:延时、信号、消息等),a任务调用等待函数时,实际上是把a任务的堆栈给切出去,同时换上次一级的任务b的堆栈环境,然后执行b任务。任务b执行期间,c任务不能被运行,但若a任务可以抢夺其执行权(在a任务等待结束时)。故而并非是每一任务按优先级顺序轮流执行的,而是高优先级的任务独占运行,除非其主动放弃执行,否则低优先级任务不能抢占,同时高优先级可以把放出去给低优先级任务使用的CPU占用权抢回来。所以ucos的任务间要注意插入等待延时,以便ucos切出去让低优先级任务执行。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息