菜鸟学UCGUI 请问一下 ,UCGUI的界面里要加自己的应该程序,应该怎么加。求高手回答。。 4月1日的后续

你好 我检查出来问题 能运行APP了 我加个一个无限循环的LED亮灭灯程序 发现了灯一直亮,不会灭。。是不是哪里出问题了(部分程序。。)
void led_init(void)//APP
{
while(1){
LED0=~LED0;
delay_ms(200);
}

void _MessageShow_cb(WM_MESSAGE *pMsg)
{
int Id,NCode;
WM_HWIN hWin=(pMsg->hWin);
WM_HWIN hframewin ;
char title[40];
char title_ch[]="message";
hframewin=hWin;
strcpy(title,title_ch);
// GUI_EndDialog( hWinmain,0);
switch (pMsg->MsgId)
{
case WM_INIT_DIALOG:
hframewin=(FRAMEWIN_Handle)hWin;
FRAMEWIN_SetTextAlign(hframewin,GUI_TA_HCENTER);
FRAMEWIN_SetClientColor(hframewin,GUI_BLUE);
FRAMEWIN_SetBarColor(hframewin,0,GUI_BLUE);
FRAMEWIN_SetText(hframewin,title);
TEXT_SetText(WM_GetDialogItem(hWin,GUI_ID_TEXT0),msg);
break;
// case WM_TOUCH_CHILD :
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc);
NCode = pMsg->Data.v;
if (NCode == WM_NOTIFICATION_RELEASED)//
{
switch(Id)
{
case GUI_ID_BUTTON3 :
//GUI_EndDialog(hWin,0);
led_init();//////////////////µ÷ÓÃAPP
// GUI_Clear();
// GUI_ExecDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), &_cbBkWindow, 0, 0, 0);
break;
default:WM_DefaultProc(pMsg);break;
}
// case WM_PAINT :led_init();break;
}

default : WM_DefaultProc(pMsg);break;
}
}

首先,你的函数led_init();漏了一个中括号。

第二,总体来看吧,没什么问题。


所以,没看到你的全代码,也没有你的环境。

给你个建议,1.确保led_init(),不用按钮触发能运行。

                     2.确保点击button3,能进入该函数。


                     3.是否是编译器优化掉了,导致led不正常,


                    4.你的延时时间正确不。如果是200ms的话,肉眼可以看的出来。


我写了个用button来控制一个button按下弹出不断的例子。你要的话,等下和我说下,我上传一下。

追问

你给我的这个没加APP的呀,,假如我把LED的代码改成这样的话 就按一下就亮灭 程序正常运行 是不是不能添加无限循环的APP的 是用MODK4.12做的
void led_init(void)//APP
{
LED0=~LED0;
delay_ms(200);
}

追答

怎么没加,我不是用按钮控制了另一个按钮不断按下弹出了么,效果跟你的led是一样的。

来自:求助得到的回答
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜