UCOSII 如何分配任务之间的延时节拍时间
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UCOSII 如何分配任务之间的延时节拍时间相关的知识,希望对你有一定的参考价值。
UCOSII 如何分配任务之间的延时节拍时间
参考技术A 我说的是UCOSII 的周期性执行任务,不是时间分片。而周期性任务的结构如下:
void MyTask (void *pdata) //周期性执行的任务函数
进行准备工作的代码;
for (;;) //无限循环,也可用 while (1)
任务实体代码;
OSTimeDly( )
有四个周期性执行的任务,任务A(优先级=0)、任务B(优先级=1)、任务C(优先级=2)、任务D(优先级=3)
如果每个任务的延时节拍时间OSTimeDly( )设置的不合理,可能会导致永远也执行不到“任务D”
有没有设置“延时节拍时间OSTimeDly( )”的一般方法呢? 参考技术B 你说的分配任务之间延时是不是指时间分片的任务调度系统?
UCOS是优先级抢占式的任务调度系统,它不会自动给任务分配延时,你必须在高优先级任务中主动进行延时,释放处理器给优先级任务,否则会一直执行当前优先最高,状态为就绪的任务。
以上是关于UCOSII 如何分配任务之间的延时节拍时间的主要内容,如果未能解决你的问题,请参考以下文章