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

使用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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版