初级会员

- 积分
- 115
- 金钱
- 115
- 注册时间
- 2015-9-27
- 在线时间
- 23 小时
|
1金钱
UCOSIII+STemWin移植做的界面如下,我建立了一个任务main_task来判断选择了哪一个应用程序,现在有两种想法
1,main_task一直在执行,不停的判断最近一次按下ENTER时对应的应用,执行不同的动作
void main_task(void *p_arg)
{
......
while (1)
{
switch (flag)
{
case 1:
//要做的事
........
}
}
}
2,ENTER按下时给main_task发信号量,main_task根据应用标志来给对应的任务发送信号量/消息,或者挂起/恢复对应的任务
void main_task(void *p_arg)
{
......
while (1)
{
OSTaskSemPend(....);
switch (flag)
{
case 1:
OSTaskSemPost(&TASK1_TCB, ......);
break;
case 2:
OSTaskSemPost(&TASK2_TCB, ......);
break;
........
}
}
}
第一个只要建立一个main_task任务就好,具体每个应用要干什么用一个函数来封装放在switch里边,第二个要建立很多的任务,基本上有几个应用就要建立几个任务,请教这两个哪个更好一些?
|
|