6241|5

24

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

Ucos-II 按键反应迟钝 [复制链接]

 大家好,最近在练习Ucos-II 按键程序,写完后,按键反应迟钝,可以实现按键功能。
只有两个任务,一个任务是6个LED灯闪烁任务,另一个是按键任务了,实现按下按键对应显示图片,
功能已经实现,但是按下按键需要按下1s,正常的按下按键没有反应,感觉要比平常正常多按1s,给人的感觉就是反应迟钝,
不知道大家有没有遇到类似问题,或者有哪位大侠解救一下,谢谢

以下是按键任务代码:
void Task1 (void *pdata) //task for test
{
INT8U err;
    unsigned char keyValue;
   
while (1)
{
       OSSemPend(pKeystokeSem, 0, &err);
       keyValue =  Key_Scan();
      
       switch(keyValue)
       {
         case 1:
              Paint_Bmp(0,0,240,320,tangwei);
              keyValue = 0;
              break;
         case 2:
              Paint_Bmp(0,0,240,320,KE);
              keyValue = 0;
              break;
         case 3:
              Paint_Bmp(0,0,240,320,LOVE);
              keyValue = 0;
              break;
         case 4:
              Paint_Bmp(0,0,240,320,MM);
              keyValue = 0;
              break;
         case 5:
              Paint_Bmp(0,0,240,320,XL);
              keyValue = 0;
              break;
         case 6:
              Paint_Bmp(0,0,240,320,XT);
              keyValue = 0;
              break;
       }
        Uart_Init(0,115200);
        Uart_Select(0);
        Uart_SendString("Task1:hello!!\n");
        
        GUI_SetColor(GUI_BLUE);
        GUI_SetFont(&GUI_FontComic24B_1);
        GUI_DispStringAt("Task1 Running!" , 10, 150 ) ;
     
     OSTimeDly(OS_TICKS_PER_SEC);
}
}

[ 本帖最后由 whaidong123 于 2013-4-17 23:56 编辑 ]

最新回复

OSTimeDly(OS_TICKS_PER_SEC);// 延时1s  详情 回复 发表于 2015-1-24 14:10
点赞 关注
 

回复
举报

81

帖子

0

TA的资源

一粒金砂(高级)

沙发
 

自己多试试

OSTimeDly(OS_TICKS_PER_SEC);
这个去掉吧。

点评

去掉那个肯定是不行的,去掉OSTimeDly(OS_TICKS_PER_SEC)这个任务就不能运行了,任务切换要靠这个来切换的。  详情 回复 发表于 2013-4-18 20:41
 
 
 

回复

24

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

回复 沙发 eeworldupk 的帖子

去掉那个肯定是不行的,去掉OSTimeDly(OS_TICKS_PER_SEC)这个任务就不能运行了,任务切换要靠这个来切换的。
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

4
 

问题应该解决了吧

我也刚接触ucos OSTimeDly()里面自己设定一个较小的值吧 或则改用中断检测按键

点评

没呢,不过已经知道是什么原因了,我的按键是中断来实现的,只是中断没做好,嘿嘿!  详情 回复 发表于 2013-4-18 23:48
 
 
 

回复

24

帖子

0

TA的资源

一粒金砂(中级)

5
 

回复 4楼 daiyinger 的帖子

没呢,不过已经知道是什么原因了,我的按键是中断来实现的,只是中断没做好,嘿嘿!
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

6
 
OSTimeDly(OS_TICKS_PER_SEC);// 延时1s
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表