硬汉嵌入式论坛

 找回密码
 立即注册
查看: 859|回复: 5
收起左侧

[emWin] emwin定时器进不去,求大佬帮忙

[复制链接]

2

主题

3

回帖

9

积分

新手上路

积分
9
发表于 2022-6-14 13:39:51 | 显示全部楼层 |阅读模式
具体代码如下图。图一创建定时器,图二在主界面的按键按钮释放后要开启定时器。在emwin模拟器里运行结果没什么问题,但是在板子上的实验结果是:按下按键后出现OK对话框,但是一直没有消失,感觉是一直没有进去case WM_TIMER中

图一

图一

图二

图二
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107137
QQ
发表于 2022-6-14 14:30:49 | 显示全部楼层
image.png
回复

使用道具 举报

19

主题

125

回帖

182

积分

初级会员

积分
182
发表于 2022-6-14 22:34:57 | 显示全部楼层

这样是要不得的?设计功能是结束当前窗口,回到上一个窗口。

                                        WM_InvalidateWindow(WM_GetParent(pMsg->hWin));
                                        GUI_EndDialog(pMsg->hWin, 0);       
                                        CurrenthWin = WM_GetPrevSibling(pMsg->hWin);
                                        WM_SetFocus(CurrenthWin);       
要这样?
                                        CurrenthWin = WM_GetPrevSibling(pMsg->hWin);
                                        WM_SetFocus(CurrenthWin);       
                                        WM_InvalidateWindow(WM_GetParent(pMsg->hWin));
                                        GUI_EndDialog(pMsg->hWin, 0);       
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107137
QQ
发表于 2022-6-15 11:13:35 | 显示全部楼层
ccschen 发表于 2022-6-14 22:34
这样是要不得的?设计功能是结束当前窗口,回到上一个窗口。

                                        WM_InvalidateWindow(WM_GetParent( ...

可以试试,以实际测试为准。
回复

使用道具 举报

19

主题

125

回帖

182

积分

初级会员

积分
182
发表于 2022-6-20 13:52:34 | 显示全部楼层
eric2013 发表于 2022-6-15 11:13
可以试试,以实际测试为准。

osDelay(10);
if(BackLight_Status == BackLightOn)
{
        free_mem_byte = GUI_ALLOC_GetNumFreeBytes();
        used_mem_byte = GUI_ALLOC_GetNumUsedBytes();
        GUI_Exec();
        OLED_StartDraw();
        OLED_EndDraw();
}
else
{
        //osDelay(30);
}
现在是亮屏时,才刷新EMWIN,刷新屏幕。
要不要把
        free_mem_byte = GUI_ALLOC_GetNumFreeBytes();
        used_mem_byte = GUI_ALLOC_GetNumUsedBytes();
        GUI_Exec();
放到判断外面。
会不会这里也有影响。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107137
QQ
发表于 2022-6-21 01:01:48 | 显示全部楼层
ccschen 发表于 2022-6-20 13:52
osDelay(10);
if(BackLight_Status == BackLightOn)
{

满足你的要求,且工作正常的话,都可以。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-20 06:35 , Processed in 0.171500 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表