大虾门,,问问:103驱动7寸TFT时,自己写的GUI代码执行能运行显示,偶尔按钮按动过程中出现死机状态,但是用GUIbuilder生成的代码移植进KEIL,,每次都死机,且死于统一地方,,但是,死机后按住复位键,又能显示界面,虽然只有那么短短的一会儿,但界面还是出来了,昙花一现,,,这个问题大概是出在哪儿??????,,经过调试,发现程序执行在
int GUI_PollKeyMsg(void) {
int r = 0;
GUI_LOCK();
if (_KeyMsgCnt)
{
int Key;
_KeyMsgCnt--;
Key = _KeyMsg.Key;
if (!WM_OnKey(Key, _KeyMsg.PressedCnt)) {
#ifdef GUI_X_ON_UNPROCESSED_KEY
GUI_X_ON_UNPROCESSED_KEY(Key, _KeyMsg.PressedCnt);
#endif
}
if (_KeyMsg.PressedCnt == 1) {
GUI_StoreKey(Key);
}
r = 1; /* We have done something */
}
GUI_UNLOCK();
return r;
}
其中,_KeyMsgCnt无法被置一,一直循环于 if (_KeyMsgCnt)判断语句,由于小弟不知道(_KeyMsgCnt是哪儿置一的,所以不知接下来问题出在哪儿,,,请指教,