嵌入式学习小组
直播中

刘勇

8年用户 161经验值
私信 关注

请问ucosii里面怎么让一个任务执行固定的时间后让出时间片?

ucosii里面,如何让一个任务执行固定的时间后让出时间片?
例如A任务,想让它先跑3秒后挂起,怎么做?
直接写个延时肯定不行。跑都不跑了。

回帖(8)

韩冬

2019-3-20 08:45:36
1、UCOSII里面没有时间片这个概念,这个是UCOSIII里面的
2、UCOSII里面有个软件定时器,你可以做个软件定时器,定时时间到了以后就调用任务挂起函数,挂起A任务。
举报

陈艳

2019-3-20 08:53:43
调用OSTaskQuery(INT8U prio,OS_TCB *pdata)函数可以查询一个任务的状态,参数prio为要查询任务的优先级,调用以后你要查询的这个任务的任务控制块信息就会赋值给参数pdata,在任务控制块中有任务状态信息。
举报

李波波

2019-3-20 09:03:22
直接延时也是可以的,但是优先级不能是最高的,如果是最高的,真的是不跑了,如果还有比它更高优先级任务也是用直接延时,这个时间就不准了,你可以这样,这个任务让他周期性的调度进来执行,定时器里面计时,这样就可以周期性的判断时间到了没了,到了就挂起,时间差别就看不出来了。
举报

王旭

2019-3-20 09:10:12
那在B任务里怎么判断A任务是否挂起了?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分