STM32
直播中

半导体开发

9年用户 751经验值
擅长:可编程逻辑
私信 关注
[问答]

emwin多次切换界面后失效是哪里出了问题?

大家好!请教大佬儿们一个问题:

我是h7,用emwin设计了4个页面,都是信号的处理页面,频谱图之类的,每个页面直接切换流畅,没有任何问题,
但是当多次来回切换页面的时候,页面会失效,是指不是卡死,鼠标可以触屏移动,但是点不上按钮,点上了没反应,经过测试,每次都是第五次切换页面的时候就出现这种情况,一开始考虑是内存的原因,后来内存管理做好了还是不行。

想请问大家,问题出在哪里?

回帖(2)

杨思

2024-3-29 09:20:24
1 扩大emWin的heap到2或者3倍,再试试
2 如果还不行,可以建一个简单的工程(仅包含4个页面,每个页面只保留一个按钮)
3 也可以考虑把鼠标点击时的具体信息(坐标,按键)实时打印出来
举报

感谢相遇

2024-3-29 14:23:26
根据描述,可能有以下几个原因导致emwin多次切换界面后失效:

1. 内存管理问题:确保你正确地释放了你在每个页面上创建的所有对象和内存。确认你在切换页面时释放了不再需要的资源。

2. 事件处理问题:请确保你正确地处理了所有在页面切换过程中发生的事件。可能是你遗漏了某些事件处理代码。

3. 双缓冲问题:如果你使用了双缓冲技术来绘制页面,可能是你没有正确地处理双缓冲的切换和更新。请确保你在切换页面时正确地刷新和更新缓冲区。

4. 资源耗尽问题:可能是由于资源耗尽而导致页面失效,比如内存不足、CPU负载过高等。你可以监控系统资源的使用情况,以确定是否有资源耗尽的问题。

5. 多线程问题:如果你在多个线程中使用emwin,可能是由于线程间同步或冲突问题导致页面失效。请确保你正确地同步不同线程之间的操作。

通过排查以上可能的问题,你应该能找到导致emwin多次切换页面后失效的根本原因,并解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分