|
问个问题,,一执行GUI_ExecDialogBox,就发不出串口 后面的代码都不执行
代码如下:
//6¸ö°′¼ü 2Ëμ¥ è·èÏ Ôö¼ó ¼õéù ¼ìêó 2é¼ˉ/í£Ö1°′Å¥ ¶àᢰ′¼ü·½ê½ pb3 pb4 pb5 pb6 pb7 pb8
//·Ö±eó3éäμ½¼üÅìÏûÏ¢
#define KEY1 ((GPIOB->IDR)&GPIO_PIN_3)
#define KEY2 ((GPIOB->IDR)&GPIO_PIN_4)
#define KEY3 ((GPIOB->IDR)&GPIO_PIN_5)
#define KEY4 ((GPIOB->IDR)&GPIO_PIN_6)
#define KEY5 ((GPIOB->IDR)&GPIO_PIN_7)
#define KEY6 ((GPIOB->IDR)&GPIO_PIN_8)
//oˉêyÃû£oKeyTask
//void KeyTask(void *p_arg)
void KeyTask(void)
{
uint8_t ucKeyCode;
//(void)p_arg; //±üÃa±àòëÆ÷±¨¾ˉ
while(1)
{
//bsp_KeyScan();//Âã»ú3ìDòéÕÃë°′Å¥′úÂë
// if(ucKeyCode!=KEY_NONE) //Çy¶ˉ3ìDò′úÂë
//{
// switch(ucKeyCode)
// {
// case KEY_DOWN_K1:
// BSP_OS_SemPost(&SEM_SYNCH); //·¢ËíDÅoÅá¿
// break;
// case KEY_DOWN_K2: //K2°′¼ü
// GUI_SendKeyMsg(GUI_KEY_TAB,1);
//case KEY_DOWN_K3:
// GUI_SendKeyMsg(GUI_KEY_ESCAPE,1);
// break;
//default: //ÆäËü°′¼ü°′ÏÂ
// break;
// }
//}
if(KEY1==0) //key1°′ÏÂ
{
//GUI_SendKeyMsg(GUI_KEY_TAB,1); //êó¾õÇD»»
printf("key0!");//2aêÔ3ìDò
}
// GUI_DispStringAt("KEY 0 message " ,240,300);//ÏÔê¾°′¼üÏûÏ¢
//else
//{
// GUI_SendKeyMsg(GUI_KEY_TAB,0); //Î′°′ÏÂ×′ì¬
//}
/* if(KEY2==0)
{
GUI_SendKeyMsg(GUI_KEY_UP,1); //Ôö¼ó
}
else
{
GUI_SendKeyMsg(GUI_KEY_UP,0); //Ôö¼ó
}
if(KEY3==0)
{
GUI_SendKeyMsg(GUI_KEY_DOWN,1); //¼õéù
}
else
{
GUI_SendKeyMsg(GUI_KEY_DOWN,0); //¼õéù
}
if(KEY4==0)
{
GUI_SendKeyMsg(GUI_KEY_ENTER,1); //è·èÏ
}
else
{
GUI_SendKeyMsg(GUI_KEY_ENTER,0); //è·èÏ
}
if(KEY5==0)
{
GUI_SendKeyMsg(GUI_KEY_HOME,1); //2Ëμ¥
}
else
{
GUI_SendKeyMsg(GUI_KEY_HOME,0); //′ò¿aÃüáî
}
if(KEY6==0)
{
GUI_SendKeyMsg(GUI_KEY_SPACE,1); //Æô¶ˉ
}
else
{
GUI_SendKeyMsg(GUI_KEY_SPACE,0); //í£Ö1Ãüáî
}
*/
osDelay(10);//Ñóê±10msèÎÎñ
}
}
//¾2ì¬êy¾Y×êÔ′±í
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[]=
{
{FRAMEWIN_CreateIndirect,"Edit winmode",0,90,90,140,130,FRAMEWIN_CF_MOVEABLE}, //ÑÕé«Îêìa
{EDIT_CreateIndirect,NULL,GUI_ID_EDIT0,10,10,110,20,0,15},
{EDIT_CreateIndirect,NULL,GUI_ID_EDIT1,10,40,110,20,0,15},
{BUTTON_CreateIndirect,"OK",GUI_ID_OK,10,80,50,20},
{BUTTON_CreateIndirect,"Cancel",GUI_ID_CANCEL,70,80,50,20},
};
//êy×é½aÎö
static char*_apExplain[]=
{
"This sample shows how to use edit widgets with a",
"dfafasfd",
"dfdfdfd",
"fdfdaff",
"fsdafawf",
"fsafasfa",
};
//oˉêy _cbDialog
//2Îêy pMsgÏûÏ¢Ö¸Õë
//·μ»Ø ÎT
//Ãèêö ¶Ô»°¿òμÄ»Øμ÷oˉêy
static void _cbDialog(WM_MESSAGE*pMsg)
{
int i;
int Id;
int NCode;
WM_HWIN hDlg;
WM_HWIN hItem;
hDlg=pMsg->hWin; //Ä¿±ê′°¿ú
switch(pMsg->MsgId) //ÏûÏ¢ààDí
{
case WM_INIT_DIALOG: //3õê¼»ˉdialog
// FRAMEWIN_SetBarColor(WM_GetDialogItem(hDlg,,GUI_BLUE);
FRAMEWIN_SetFont(pMsg->hWin,&GUI_Font13_ASCII); //3õê¼»ˉ×Öìå ¿ò¼ü′°¿úD¡1¤¾ß
FRAMEWIN_SetTextAlign(pMsg->hWin,GUI_TA_HCENTER); //±êìaÎÄ×Ö¾óÖD
//éèÖñêìaà¸μÄĬèÏ
for(i=0;i<2;i++)
{
hItem=WM_GetDialogItem(hDlg,GUI_ID_EDIT0+i); //±à¼-¿òμÄÎêìa »ñè¡¶Ô»°¿ò ′°¿úμľä±ú
}
break; //ÖD¶Ï
// case WM_KEY: //′°¿ú°′¼üààDí
// switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key)
// {
// case GUI_KEY_TAB:
// GUI_EndDialog(hDlg,1);
//printf("key0!");//2aêÔ3ìDò
//GUI_DispStringAt("KEY 0 message " ,240,300);//ÏÔê¾°′¼üÏûÏ¢
// break;
// case GUI_KEY_ENTER:
// GUI_EndDialog(hDlg,0);
// break;
// }
// break;
//case WM_NOTIFY_PARENT: //ÏûÏ¢ óD¸üDÂ
//Id =WM_GetId(pMsg->hWinSrc); //ID¶¨òå Ô-′°¿ú
// NCode=pMsg->Data.v; //í¨Öa′úÂë êy¾YÖμ
// switch(NCode) //Ñ¡ÔñÏî
// {
// case WM_NOTIFICATION_RELEASED: //±»μã»÷ê±êí·Å
// if(Id==GUI_ID_OK)
// {
// GUI_EndDialog(hDlg,0);
// }
// if(Id==GUI_ID_CANCEL)
// {
// GUI_EndDialog(hDlg,0);
// }
// break;
// }
// break;
default:
WM_DefaultProc(pMsg);
break;
}
}
//oˉêy _cbDesktop
//2Îêy pMsgÏûÏ¢Ö¸Õë
//·μ»Ø ÎT
//Ãèêö ×àÃæ′°¿úμÄ»Øμ÷oˉêy
static void _cbDesktop(WM_MESSAGE*pMsg)
{
unsigned int i;
switch(pMsg->MsgId)
{
//ÖØ»æ
case WM_PAINT:
GUI_SetBkColor(GUI_RED);//±3¾°ÑÕé«»æÖÆ
GUI_Clear();
GUI_SetFont(&GUI_Font24_ASCII);
GUI_DispStringHCenterAt("WIDGET_EditWinmode",160,5);
GUI_DispNextLine();//»-ò»¸ùÇúÏß
GUI_SetFont(GUI_DEFAULT_FONT);
GUI_DispNextLine();
for(i=0;i<GUI_COUNTOF(_apExplain);i++)
{
GUI_DispStringHCenterAt(_apExplain,160,GUI_GetDispPosY());
GUI_DispNextLine();
}
break;
}
}
//oˉêy MainTaskkey
//2Îêy ÎT
//·μ»Ø ÎT
//Ãèêö ÎT
void MainTaskkey(void)
{
WM_HWIN hWM_HBKWIN;
GUI_Init();
hWM_HBKWIN = WM_CreateWindow(5,5,480,320,WM_CF_SHOW,0,0); //′°¿ú3ß′ç 380 230
WM_SetCallback(hWM_HBKWIN,_cbDesktop);
while(1)
{
/*í¨1y×êÔ′±í ′′½¨×èèûê½¶Ô»°¿ò*/
GUI_ExecDialogBox(_aDialogCreate,GUI_COUNTOF(_aDialogCreate),&_cbDialog,0,0,0); //Õa¸ö¿éÄüêǸöËàÑ-»·
//GUI_DispStringAt("KEY 0 message " ,240,300);//ÏÔê¾°′¼üÏûÏ¢
// GUI_DispStringAt("KEY 0 message " ,240,300);//ÏÔê¾°′¼üÏûÏ¢
// GUI_Exec();
printf("key0!");//2aêÔ3ìD
osDelay(10);//Ñóê±10msèÎÎñ
//GUI_Delay(1000);//Ñóê±1SÖó
}
} |
|