最近学时使用emwin 在切换窗口时进入HardFault_Handler,后来发现在创建的窗口内没有处理WM_PAINT消息的操作,添加后在case内执行清屏,这样在切换界面时就不会发生死机。示意代码如下:
static void _cbDialog(WM_MESSAGE * pMsg)
{
WM_HWIN hItem;
int NCode;
int Id;
switch (pMsg->MsgId)
{
case WM_PAINT:
GUI_SetBkColor(GUI_WHITE);
GUI_Clear();
break;
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc);
NCode = pMsg->Data.v;
switch (Id)
{
case ID_BUTTON_0: // Notifications sent by 'BACK'
switch (NCode)
{
case WM_NOTIFICATION_CLICKED:
break;
case WM_NOTIFICATION_RELEASED:
GUI_EndDialog(pMsg->hWin, 0);//结束当前对话框
g_nKeyHandle = CreateMainWindow();//创建新的页面
break;
}
break;
}
break;
}
}
切换界面死机的情况有很多,目前我遇到的情况这样可以解决。记录下方便以后看
上一篇:STM32 正交编码器代码
下一篇:stemwin 实现显示屏幕滑动
推荐阅读最新更新时间:2024-11-10 13:10
设计资源 培训 开发板 精华推荐
- EV-ADuCRF101QS3Z,使用 ADuCRF101 433MHz MCU 的评估板
- NUCLEO-F446ZE,STM32 Nucleo-144开发板,带STM32F446ZET6 MCU,支持Arduino、ST Zio和Morpho
- TS4962 2W免滤波器D类音频功率放大器典型应用
- 基于 MC13224 器件的 1322xSNRM、1322x 传感器节点参考设计
- DC2254A-A,用于具有按钮控制的 LTC2956-1 唤醒定时器的演示板
- 具有重合跟踪和 6V 输入 UVLO 的 LTC3633AIFE-2 1.2V/1.8V 降压稳压器的典型应用电路
- MIC5236 的典型应用:低静态电流电容 LDO 稳压器
- 使用 NXP Semiconductors 的 PLC42VA12 的参考设计
- 使用 Infineon Technologies AG 的 TDA 16846-2 的参考设计
- 鸢尾立方->0.5mL离心管架 63架位