|

楼主 |
发表于 2019-10-12 10:57:21
|
显示全部楼层
针对您的回复,我说明下,我的路径是全英文,优化等级原来是level 0,后来出现数据错误,更改为default(level 2),改完后数据正常。我将在另外一篇帖子中将截图发出。
按照您的提议,我分别将优化等级设为0和2,并且在main函数中加入了printf函数,且都进行了仿真。
int main(void)
{
BOARD_ConfigMPU();
BOARD_BootClockRUN();
BOARD_InitPins();
BOARD_InitDebugConsole();
SysTick_Init();
PRINTF("\r\n hello world 你好世界!\r\n");
GUI_Init();
WM_MULTIBUF_Enable(1);
WM_SetCreateFlags(WM_CF_MEMDEV);// Auto. use Memory Devices on all windows
WM_SetDesktopColor(GUI_GREEN);
GUI_SetBkColor(GUI_WHITE);
GUI_Clear();
GUI_SetColor(GUI_RED);
TP_En=1;
GUI_PID_GetState(&State);
GUI_PID_GetState(&State);
GUI_PID_GetState(&State);
GUI_PID_GetState(&State);
GUI_PID_GetState(&State);
hItem=CreateWindow();
while (1)
{
test=test+1;
GUI_PID_GetCurrentState(&State);
if (State.Pressed == 1)
{
test=test+1;
GUI_SetPenSize(5);
GUI_FillCircle(State.x, State.y, 20);
}
/* 为了防止游标不显示或者不跟着移动,这里添加如下函数 */
GUI_Delay(100);//GUI_Delay函数内部调用了GUI_Exec()函数
}
}
我在程序的
hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);,
BOARD_InitPins();,
PRINTF("\r\n hello world 你好世界!\r\n");
这三个点设置了断点。
仿真的结果是,不论level0还是level 2,debug时刚开始先跳到hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);,
然后回到main函数的BOARD_InitPins();,
紧接着PRINTF("\r\n hello world 你好世界!\r\n");,
且BOARD_InitPins();和PRINTF("\r\n hello world 你好世界!\r\n");来两遍,
第一遍PRINTF("\r\n hello world 你好世界!\r\n");不能打印出东西来,第二遍从串口打印出数据。
这是为什么呢?
说明一下:GUI_CreateDialogBox函数为CreateWindow的子函数
|
|