完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我在屏幕上画了一个BUTTON,控制LED0的亮灭。
我出现的问题是,从程序复位开始,当第一次按下BUTTON时,LED0亮灭没有变化,BUTTON会多一个虚线框; 当我再次按下BUTTON时,LED0才亮起来,有没有谁知道这是什么原因? 上述的问题在有两个以上按键的情况下,按下第二个按键响应的有可能是第一个按键的内容。 关键代码: void Touch_Task(void *pdata) { while(1) { GUI_TOUCH_Exec(); GUI_TOUCH_GetState(&TouchPoint); delay_ms(5); } } void Menu_Task(void *pdata) { BUTTON_Handle hButton0; BUTTON_Handle hButton1; BUTTON_Handle hButton2; GUI_Init(); GUI_SetBkColor(GUI_WHITE); GUI_SetColor(GUI_BLACK); GUI_SetFont(&GUI_FontHZ_HZ_12); GUI_Clear(); hButton0=BUTTON_Create(80,50,80,40,GUI_ID_BUTTON0,WM_CF_SHOW); hButton1=BUTTON_Create(80,100,80,40,GUI_ID_BUTTON1,WM_CF_SHOW); hButton2=BUTTON_Create(80,150,80,40,GUI_ID_BUTTON2,WM_CF_SHOW); BUTTON_SetFont(hButton0,&GUI_FontHZ_HZ_12); BUTTON_SetText(hButton0,"确定"); BUTTON_SetFont(hButton1,&GUI_FontHZ_HZ_12); BUTTON_SetText(hButton1,"退出"); BUTTON_SetFont(hButton2,&GUI_FontHZ_HZ_12); BUTTON_SetText(hButton2,"OK"); while(1) { if(TouchPoint.Pressed == 1) { switch(GUI_GetKey()) { case GUI_ID_BUTTON0: GUI_DispStringAt("button0 pressed",5,200); LED0=!LED0; break; case GUI_ID_BUTTON1: GUI_DispStringAt("button1 pressed",5,215); LED1=!LED1; break; case GUI_ID_BUTTON2: GUI_DispStringAt("button2 pressed",5,230); LED0=!LED0; LED1=!LED1; break; default: break; } } GUI_Exec(); delay_ms(100); } } |
|
相关推荐
4个回答
|
|
|
|
|
|
帮顶.....
|
|
|
|
是Touch_Task延时太长了吗?还是要怎么刷新?求教。
|
|
|
|
UCGUI的消息驱动的,你不用这样检测呀,在它的回调函数里面处理你要做的事就OK了
|
|
|
|
只有小组成员才能发言,加入小组>>
690 浏览 0 评论
1105 浏览 1 评论
2473 浏览 5 评论
2807 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2644 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
652浏览 9评论
648浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
779浏览 6评论
627浏览 5评论
668浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 22:33 , Processed in 1.033721 second(s), Total 85, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号