返回该小组首页 回复主题
gaomidu

gaomidu

小组等级:     E币:98  (E币换礼)

#1楼主:关于任务调度

文章发表于:2008-06-19 09:55

任务中经常遇到延时1s的函数,那么问下,在延时的过程中系统是不是把这个任务挂起让低优先级的任务运行啊?

 

新手,谢谢回答!

gaomidu

   小组等级:    E币:98  (E币换礼)

#2

文章发表于:2008-06-19 11:18

仔细看了下文档,任务是进入等待状态了

windwent

   小组等级:    E币:165  (E币换礼)

#3

文章发表于:2008-07-09 15:36

我也正在学习,肯定是别的任务运行啊,
要不多任务就没有实时性了

tiloog

   小组等级:    E币:973  (E币换礼)

#4

文章发表于:2008-07-09 18:40

延时1s,CPU调度的事情是肯定发生的,否则CPU的效率将变得很低,很多以前单片机单任务的设计思想不能放在这个地方了。ucos的delay都是按照心跳来实现的,其中有一个OSTimeDly,实现按心跳为基准的延时。
当需要延时时,设置当前任务进入睡眠,设置TCB中的闹表OSTCBDly,然后从当前的任务schedule走,将CPU交给其他任务。这样的话CPU的利用率将大大提高了~~

蓝旗

   小组等级:    E币:112  (E币换礼)

#5

文章发表于:2008-07-11 09:22

我也在弄多任务,遇到很多问题

wurenma

   小组等级:    E币:172  (E币换礼)

#6

文章发表于:2008-07-23 10:16

延时时UCOS有做任务调度,在挂起当前任务的同时,取优先级最高的就绪任务运行,如果没有,则运行IDLE任务了

总共 , 当前 /

快速回复主题--如果想加入编辑器功能,建议使用 [高级回复]

您目前还不是小组成员,请先加入

回复贴子区

用户名:    您没有注册?

密码:    忘记了密码?

内容:

浏览该小组的用户还看过...

设计资源与分销