初级会员

- 积分
- 121
- 金钱
- 121
- 注册时间
- 2015-11-16
- 在线时间
- 8 小时
|
3金钱
为了学习UCOS我写了一个程序,有3个任务,其中任务一是按键扫描,任务二是图片显示,任务三是不停的闪烁LED,当KEY_UP按键按下后,我让任务1发一个内建信号量给任务2。任务二里面,显示图片过程中为防止打断,调用了OS_CRITICAL_ENTER()和OS_CRITICAL_EXIT(), 任务二的最后调用了OSTimeDlyHMSM函数,结果他就卡死了,显示图片的程序是没有问题的,我单独把他拿出来,在不跑系统的情况下用for语句重复执行N遍都可以,然后调用OS_CRITICAL_ENTER()和OS_CRITICAL_EXIT()也是没有问题的,因为我把任务二里的图片显示的程序改为LED0=~LED0;就正常了,最后在OSTimeDlyHMSM函数里加printf语句,让他每执行一段代码就打印一段字符,结果发现程序在如图所示的地方就卡死了file:///C:\Users\Augus\AppData\Roaming\Tencent\Users\870085719\QQ\WinTemp\RichOle\LDHQ3(WDW}BXHV(HIBV$A%T.png,调了好多天,求大神解救!! |
-
OSTimeDlyHMSM的函数内部程序
|