我建立一个窗口,窗口有回调函数,回调函数在WM_PAINT 中显示数字,可是执行一段时间就进入了hardfault_handler(),这是怎么回事呢?
任务:
void Task(void *p_arg)
{
while(1)
{
hWin =WM_CreateWindow(0,0,XSIZE_PHYS,YSIZE_PHYS-YSIZE_PHYS/12,WM_CF_SHOW,caback,0);
GUI_Exec();
WM_DeleteWindow(hWin);
}
}
回到函数:
void caback(WM_MESSAGE *pMsg)
{
switch (pMsg->MsgId)
{
case WM_PAINT:
cnt++;
GUI_DispDecAt(cnt,10,470,10);
WM_Exec();
break;
}
WM_DefaultProc(pMsg);
}
这个过程就是这样的, cnt 是一个全局变量,板子上电之后开始计数显示,但是当cnt = 41 时就停住了,仿真时进入了硬件错误,我开始以为是内存哪里操作问题,可是这个点代码根本没问题呀,也没发现,不知道回到函数的 WM_PAINT 到底怎么执行的,求助,搞了好久了都没解决~~~~(>_<)~~~~
|