你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

使用ucgui按钮出现问题,求帮助

[复制链接]
baonng 提问时间:2012-9-17 16:17 /
各位大大,本人在stm32上使用ucgui+ucos编写程序,在使用按钮的时候,发现点击按钮,GUI_GetKey()无法得到按钮ID(偶尔一次可以得到)。程序代码如下:
void MainTask(void)
{
   GUI_Init();
   while(1)
 {
  //WM_Exec1();
  APP_main();
   }
}
void APP_main(void)//用户主函数
{
  GUI_Clear();  while(1) {
  _Menu();
  OSTimeDlyHMSM(0,0,0,20);//按时分秒延时函数
 }
}
static void _Menu(void) {
 BUTTON_Handle hM1, hM2;//hM3, hM4;
 int sKey;
 static u8 Kf1=0, Kf2=0;
 
   GUI_RECT rText = {340,8, 460,24};
 GUI_SetBkColor(GUI_BLACK);
 GUI_SetColor(GUI_LIGHTGRAY);
 GUI_SetFont(&GUI_Font16_ASCII);
 GUI_DispStringInRect("CH1", &rText, GUI_TA_VCENTER|GUI_TA_HCENTER); 
 hM1 = BUTTON_Create( 340, 26, 120, 25, 1, BUTTON_CF_SHOW );
 BUTTON_SetText(hM1, "通道选择");
 BUTTON_SetFont(hM1, &GUI_FontHZ_SimHei_19);
 BUTTON_SetBkColor(hM1, 0, GUI_DARKGRAY);
 BUTTON_SetTextColor(hM1, 0, GUI_WHITE);
 
 hM2 = BUTTON_Create( 340, 76, 120, 25, 2, BUTTON_CF_SHOW );
 BUTTON_SetText(hM2, "探头");
 BUTTON_SetFont(hM2, &GUI_FontHZ_SimHei_19);
 BUTTON_SetBkColor(hM2, 0, GUI_DARKGRAY);
 BUTTON_SetTextColor(hM2, 0, GUI_WHITE);
 
  WM_Exec();//WM_Exec1();
  sKey = GUI_GetKey();获取按钮ID
 
 if(sKey==1){//按钮处理
  if(Kf1==0) Kf1=1;
  else Kf1=0;  
 }
 else if(sKey==2) {
  if(Kf2==0) Kf2=1;
  else Kf2=0;  
 }
 rText.y0 = 52; rText.y1 = 75;
 GUI_SetFont(&GUI_FontHZ_SimHei_19);
 if(Kf1==0) GUI_DispStringInRect("直流", &rText, GUI_TA_VCENTER|GUI_TA_HCENTER);
 else GUI_DispStringInRect("交流", &rText, GUI_TA_VCENTER|GUI_TA_HCENTER);
 
 rText.y0 = 100; rText.y1 = 125;
 GUI_SetFont(&GUI_Font16_ASCII);
 if(Kf2==0) { GUI_GotoXY(360, 102); GUI_DispCEOL();
  GUI_DispStringInRect("X1", &rText, GUI_TA_VCENTER|GUI_TA_HCENTER); }
 else GUI_DispStringInRect("X10", &rText, GUI_TA_VCENTER|GUI_TA_HCENTER);
 
 BUTTON_Delete(hM1);
 BUTTON_Delete(hM2);
}
收藏 评论5 发布时间:2012-9-17 16:17

举报

5个回答
feiante-155820 回答时间:2012-9-17 16:58:29

RE:使用ucgui按钮出现问题,求帮助

挂上jLINK看看。。。。。。。
baonng 回答时间:2012-9-18 09:03:31

RE:使用ucgui按钮出现问题,求帮助

看了啊,但是还是没发现问题所在啊
废鱼 回答时间:2012-9-18 10:12:44

RE:使用ucgui按钮出现问题,求帮助

看一下触摸屏的采集,这里是不是按照当前触摸屏来做的。
baonng 回答时间:2012-9-18 17:12:05

回复:使用ucgui按钮出现问题,求帮助

回复第 4 楼 于2012-09-18 10:12:44发表:
看一下触摸屏的采集,这里是不是按照当前触摸屏来做的。 

老大,什么意思啊。触摸屏使用没有问题,通过GUI_TOUCH_GetState(&State);可以得到值。按钮显示上有变化,可能在十几,二十几次的按压过程会出现一次得到值的现象。看看,程序是否有什么问题呢???
love倩 回答时间:2013-12-1 13:02:53

回复:使用ucgui按钮出现问题,求帮助

回复第 5 楼 于2012-09-18 17:12:05发表:
回复第 4 楼 于2012-09-18 10:12:44发表:
看一下触摸屏的采集,这里是不是按照当前触摸屏来做的。 

老大,什么意思啊。触摸屏使用没有问题,通过GUI_TOUCH_GetState(&State);可以得到值。按钮显示上有变化,可能在十几,二十几次的按压过程会出现一次得到值的现象。看看,程序是否有什么问题呢???大哥 我最近在玩这个 也出现了相同的现象 你的怎么解决的?求解释  可以加我qq给我讲讲吗?我的qq1811098211
 

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版