maxiang1985 发表于 2012-7-17 17:04:27

ucos-iii 任务求助

我先创建了一个任务A,并且在A的任务中有创建任务B,再任务A中调用了OSTimeDlyHMSM(0,0, 0,500,OS_OPT_TIME_HMSM_STRICT, &err);让任务A挂起500MS。任务B中调用了 OSTimeDlyHMSM(0, 0, 1,0,OS_OPT_TIME_HMSM_STRICT, &err);让任务B挂起1S。任务A的优先级高于任务B的。
现在不理解的是任务A再500ms后,开始运行,知道1s后任务B就绪运行任务B,然后又怎么运行任务A、任务B的。

GNMXD 发表于 2012-7-17 17:11:57

看看 OSTimeDlyHMSM ,问题自然解决了(里面有调用任务切换的)

maxiang1985 发表于 2012-7-17 17:24:59

GNMXD 发表于 2012-7-17 17:11 static/image/common/back.gif
看看 OSTimeDlyHMSM ,问题自然解决了(里面有调用任务切换的)

谢谢,再问你下,while再ucos中起到什么作用?

tiancaigao7 发表于 2012-7-18 07:57:53

maxiang1985 发表于 2012-7-17 17:24 static/image/common/back.gif
谢谢,再问你下,while再ucos中起到什么作用?

while主要是保持这个任务不会退出。

maxiang1985 发表于 2012-7-18 08:44:09

也就是说我在任务中用了while之后,只要任务就绪,就运行任务是吧。

richu 发表于 2012-7-18 08:51:05

maxiang1985 发表于 2012-7-18 08:44 static/image/common/back.gif
也就是说我在任务中用了while之后,只要任务就绪,就运行任务是吧。

是的,一般while语句中都会有延时,延时时间到后,会转为就绪状态。
页: [1]
查看完整版本: ucos-iii 任务求助