关于ucosii多任务的问题

哥特de忧伤 2009-06-14 06:24:37
我列了简单的函数说明一下问题!

main()
{
创建 TASK0优先级2;
OSStart();
}

TASK0()
{
…………
创建 BEEPtask优先级3;
创建 KEYtask优先级4;
while(1)
{
系统调用延时;//延时的作用是什么啊?
}

}

BEEPtask()
{
…………
while(1)
{
挂起自己;挂起后是不是就不往下运行了吧?
蜂鸣器响;
…………
}
}
KEYtask()
{
…………
while(1)
{
if(没有按下按键)
{
continue;
}
回复别挂起的BEEP;//结束挂起后任务不会立即执行吧,而是通过下面的延时而运行任务的。
while(按下按键)
{
系统调用延时;
}
}
}

小弟刚接触ucos有很多不明,希望高手指点!
...全文
200 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
godpicker 2010-12-24
  • 打赏
  • 举报
回复
新手学习中
yharbour 2009-06-14
  • 打赏
  • 举报
回复
1. 延时的作用就是Task等待一段时间,让CPU执行其他的进程。
2. Task被suspend以后,Task被挂起,系统执行其他的Task,等到被Resume以后才能继续执行
3. KEYTask的优先级是4, BEEPTask的优先级是3比KEYTask低,因此KEYTask resume BeepTask后 立即执行Beep Task。

27,374

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧