|
用Debug模式看 clock_60s 確實是 +1 ,但 在螢幕看卻是 1,3,5,7....
當clock_60s=1時, 螢幕是1
當clock_60s=2時, 螢幕還是1
當clock_60s=3時, 螢幕是3
當clock_60s=4時, 螢幕還是3
當clock_60s=5時, 螢幕是5
GUI_ALLOC_AssignMemory(aMemory, (1024*1024*2));
為什麼??
謝謝回答
程式如下:
void MainTask(void) {
WM_SetCallback(WM_HBKWIN, &_cbBkWindow); /* Set window Callback */
WM_CreateTimer(WM_HBKWIN, 0, 1000, 0);
}
static void _cbBkWindow(WM_MESSAGE * pMsg) {
WM_HWIN hWin = pMsg->hWin;
static int clock_60s=0;
static char test[10];
switch (pMsg->MsgId) {
case WM_PAINT:
clock_60s++; sprintf(test, "TEST=%d",clock_60s); GUI_DispStringAt(test,0,0);
break;
case WM_TIMER:
WM_RestartTimer(pMsg->Data.v,1000);
WM_InvalidateWindow(hWin);
break;
default:
WM_DefaultProc(pMsg);
}
} |
|