[ZLG-MCU] uC/OS-II任务调度问题

[复制链接]
1859|3
 楼主| jtingwang 发表于 2008-4-11 08:54 | 显示全部楼层 |阅读模式
void&nbsp;task_high_prio(&nbsp;void*&nbsp;pdata&nbsp;)&nbsp;&nbsp;/*&nbsp;高优先级任务&nbsp;*/<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;while(1)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OSTimeDly(1);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />void&nbsp;task_mid_prio(&nbsp;void*&nbsp;pdata&nbsp;)&nbsp;&nbsp;/*&nbsp;中优先级任务&nbsp;*/<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;while(1)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />void&nbsp;task_low_prio(&nbsp;void*&nbsp;pdata&nbsp;)&nbsp;&nbsp;/*&nbsp;低优先级任务&nbsp;*/<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;while(1)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OSTimeDly(1);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />这种情况下,为什么“低优先级任务”task_low_prio还能运行?<br />进入“中优先级任务”后,应该只可以被“高优先级任务”抢占啊
zlgarm 发表于 2008-4-11 09:04 | 显示全部楼层

看看编译器有没有优化,把3个while都合在一起。<br /><br />(zlgarm_zsg)
 楼主| jtingwang 发表于 2008-4-11 09:26 | 显示全部楼层

没有效果:(

我用IAR编译器,原来优化级别是Low,现在修改为None(Best&nbsp;Debug&nbsp;Support),没有效果:(<br /><br />无论如何,十分感谢和感动于zlgarm回复的这么及时。
zlgarm 发表于 2008-4-11 09:29 | 显示全部楼层

反汇编看看

反汇编看看代码是如何的。<br /><br />(zlgarm_zsg)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

171

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部