硬汉嵌入式论坛

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

[emWin] multipage 控件使用遇到问题,数据刷新与内存?

[复制链接]

6

主题

14

回帖

32

积分

新手上路

积分
32
发表于 2018-12-11 10:07:42 | 显示全部楼层 |阅读模式
   桌面有按键 一个供显示text控件和一个multipage
  multipage三个页面切换,每个页面只有窗口和text控件,切换multipage的页面,实时显示相关数据,页面0显示正常,可是页面1显示时有部分闪屏,显示页面3时,闪屏厉害了。
  使用以下方法
    1 切换页面方法,现象同前,内存使用不变的。   

    2 每次使用某页面时,先删除前一个页面,再用MULTIPAGE_AttachWindow 添加窗口,显示正常,可是内存占用不断增加,最后死机了。
    3,不使用MULTIPAGE_AttachWindow添加窗口,采用直接添加窗口(或者show方式),用完后删除(或者hide方式),现象还是有闪屏现象,现象依旧的。

  使用模拟器时也可以观察到此现象的,实际显示时,很明显的。


   闪屏现象发生在有数据更新时。
   显示第一页面时,不会闪屏的,每秒刷新50次,也是正常的。
   显示第二页面时,就有部分闪屏的,发生在数据更新时。   

  显示第三页面时,就有几乎全闪屏的,发生在数据更新时。   


困惑的是,使用MULTIPAGE_AttachWindow 添加窗口,然后删除窗口,窗口都删除了,怎么内存还不停地增长?


  困扰好久了,望高手 大神 指点迷津。


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2018-12-11 10:25:37 | 显示全部楼层
方便的话,上程序,测试下你这部分程序是否正常,如果这部分正常的话,基本就可以锁定是程序模板问题或者硬件问题,再进一步查
回复

使用道具 举报

354

主题

2164

回帖

3231

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3231
发表于 2018-12-11 10:31:42 | 显示全部楼层
有个说法,窗口删除了,某些控件需要自己删除。 因为经验有限,没有充分验证。。。 还有个实例,用响应按键的时候创建窗口,按键抖动会造成多次创建,也会导致内存不断增长。
回复

使用道具 举报

6

主题

14

回帖

32

积分

新手上路

积分
32
 楼主| 发表于 2018-12-11 10:49:37 | 显示全部楼层
关键是 第一个页面显示正常的啊,后续页面闪屏逐渐严重的,好像都发生在数据刷新时,每个页面使用了定时器更新数据的。定时加长,闪屏页间隔长了。
回复

使用道具 举报

6

主题

14

回帖

32

积分

新手上路

积分
32
 楼主| 发表于 2018-12-11 10:52:00 | 显示全部楼层
不使用MULTIPAGE_AttachWindow添加窗口,采用直接添加窗口(或者show方式),用完后删除(或者hide方式),现象还是有闪屏现象,现象依旧的。内存消耗不增加的。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2018-12-12 00:46:51 | 显示全部楼层
elecapp 发表于 2018-12-11 10:52
不使用MULTIPAGE_AttachWindow添加窗口,采用直接添加窗口(或者show方式),用完后删除(或者hide方式), ...

方便的话,上传下emWin部分的测试程序。
回复

使用道具 举报

6

主题

14

回帖

32

积分

新手上路

积分
32
 楼主| 发表于 2018-12-13 12:42:01 | 显示全部楼层
我跟踪程序看了一下,刷新发生在,执行GUI_Delay期间,在板子上跑程序观察,非常明显的
我在整理程序,再试试,看看。
回复

使用道具 举报

354

主题

2164

回帖

3231

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3231
发表于 2018-12-13 14:17:05 | 显示全部楼层
elecapp 发表于 2018-12-13 12:42
我跟踪程序看了一下,刷新发生在,执行GUI_Delay期间,在板子上跑程序观察,非常明显的
我在整理程序,再 ...

你给emwin分配了多少内存?
回复

使用道具 举报

6

主题

14

回帖

32

积分

新手上路

积分
32
 楼主| 发表于 2018-12-13 15:40:51 | 显示全部楼层
猜测 找到原因了,多个没有可聚焦的控件(窗口+text),使用定时器刷新数据时,GUI_Delay 导致重绘,只要加一个可聚焦的控件,现象现象消失。
(实际不需要这个聚焦控件的),试了向窗口传递消息,也闪烁的,有其他办法处理多窗口显示数据吗?
回复

使用道具 举报

6

主题

14

回帖

32

积分

新手上路

积分
32
 楼主| 发表于 2018-12-13 15:48:33 | 显示全部楼层
caicaptain2 发表于 2018-12-13 14:17
你给emwin分配了多少内存?

使用405芯片,120k 实时监控 用了约 58k  还有 56k的
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-17 17:03 , Processed in 0.276772 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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