ucosII实验 信号量和邮箱的很多疑惑,希望原子哥赐教

2019-07-21 05:23发布

疑问1:蜂鸣器任务
void beep_task(void *pdata)
{
 u8 err;
 while(1)
 {
  OSSemPend(sem_beep,0,&err);  //请求信号量函数
  BEEP=1;
  delay_ms(60);
  BEEP=0;
  delay_ms(940);
 }         
}
这个任务为啥在程序运行中蜂鸣器不响,只有按下KEY1才响呢?
疑问2:
LCD_ShowxNum(192,50,sem_beep->OSEventCnt,3,16,0X80);//显示信号量的值
为什么我没看到SEM的值有任何变化。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
背成一把刀
1楼-- · 2019-07-22 03:14
szczyb1314 发表于 2019-1-31 10:35
不是死在这里,是阻塞在这里,其他任务还是正常调度执行的,这里的阻塞可以消除进入就绪的从而这个任务还 ...

也就是说这里的阻塞是让任务处于挂起状态?别的低的优先级任务也可以执行?
背成一把刀
2楼-- · 2019-07-22 06:01
fang百川 发表于 2019-1-31 09:20
你可以看一下有关于操作系统的书,ucos系统任务等待期间程序是不会死的,只是阻塞等待,然后执行其他任务 ...

也就是说这里的阻塞是让任务处于挂起状态?别的低的优先级任务也可以执行?
背成一把刀
3楼-- · 2019-07-22 06:56
szczyb1314 发表于 2019-1-31 10:35
不是死在这里,是阻塞在这里,其他任务还是正常调度执行的,这里的阻塞可以消除进入就绪的从而这个任务还 ...

麻烦你能详细给我说说不
背成一把刀
4楼-- · 2019-07-22 11:59
fang百川 发表于 2019-1-31 09:20
你可以看一下有关于操作系统的书,ucos系统任务等待期间程序是不会死的,只是阻塞等待,然后执行其他任务 ...

麻烦你能详细给我说说不
fang百川
5楼-- · 2019-07-22 13:16
 精彩回答 2  元偷偷看……

一周热门 更多>