打印
[ZLG-MCU]

uC/OS-II任务调度问题

[复制链接]
1323|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jtingwang|  楼主 | 2008-4-11 08:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void task_high_prio( void* pdata )  /* 高优先级任务 */
{
    while(1)
    {
        OSTimeDly(1);
    }
}

void task_mid_prio( void* pdata )  /* 中优先级任务 */
{
    while(1)
    {
        ;
    }
}

void task_low_prio( void* pdata )  /* 低优先级任务 */
{
    while(1)
    {
        OSTimeDly(1);
    }
}

这种情况下,为什么“低优先级任务”task_low_prio还能运行?
进入“中优先级任务”后,应该只可以被“高优先级任务”抢占啊

相关帖子

沙发
zlgarm| | 2008-4-11 09:04 | 只看该作者

看看编译器有没有优化,把3个while都合在一起。

(zlgarm_zsg)

使用特权

评论回复
板凳
jtingwang|  楼主 | 2008-4-11 09:26 | 只看该作者

没有效果:(

我用IAR编译器,原来优化级别是Low,现在修改为None(Best Debug Support),没有效果:(

无论如何,十分感谢和感动于zlgarm回复的这么及时。

使用特权

评论回复
地板
zlgarm| | 2008-4-11 09:29 | 只看该作者

反汇编看看

反汇编看看代码是如何的。

(zlgarm_zsg)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

171

帖子

1

粉丝