硬汉嵌入式论坛

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

[emWin] AppWizard双屏显示怪异现象

[复制链接]

12

主题

59

回帖

95

积分

初级会员

积分
95
发表于 2021-10-28 16:46:56 | 显示全部楼层 |阅读模式
系统:RTOS
环境:双8080 LCD屏幕

现象:
左屏幕能够正确显示AppWizard工程
右屏幕不能正确显示

调试过程
1.单使用一个BOX和BOTTOM,次屏幕能够正确显示
1.png
2.jpg
2.使用2个BOX后,次屏幕只显示最上层的BOX,并且是全覆盖
3.png
5.jpg

AppWizard关于双屏的很少介绍,并且相关的函数没有细致说明
调试了很久,找不到问题根源


回复

使用道具 举报

12

主题

59

回帖

95

积分

初级会员

积分
95
 楼主| 发表于 2021-10-28 17:01:49 | 显示全部楼层
关闭主屏幕,只显示次屏幕,现象一样,不能正确显示
将主次屏幕的驱动调换,现象一致
驱动应该是没问题的

感觉是叠加上去就不显示底层,只显示TOP层
不知道哪里还有个开关,没正确打开
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115834
QQ
发表于 2021-10-28 17:15:32 | 显示全部楼层
flying1104 发表于 2021-10-28 17:01
关闭主屏幕,只显示次屏幕,现象一样,不能正确显示
将主次屏幕的驱动调换,现象一致
驱动应该是没问题的 ...

估计是程序里面没有有效的切换图层,双屏显示有时候要注意那个GUI_SelectLayer来合理的调用图层来绘制界面。

之前搞双屏展示的时候,遇到过一些这种奇怪的问题。
回复

使用道具 举报

12

主题

59

回帖

95

积分

初级会员

积分
95
 楼主| 发表于 2021-10-29 14:41:43 | 显示全部楼层
排查了一下,感觉像是AppWizard的bug

变量:ID_BOX_00 = 蓝色
         ID_BOX_01 = 黑色

黑色和蓝色不重叠,分割屏幕
0.png
测试1
ID_BOX_01 在上,ID_BOX_00 在下
1.png
能够正确显示
3.png

测试2
ID_BOX_00 在上,ID_BOX_01 在下
2.png
不能正确显示
4.png

输出的时候,只覆盖ID_SCREEN_00.c文件
输出正常的
  1.   { WM_OBJECT_BOX_Create,
  2.     ID_BOX_01, ID_SCREEN_00,
  3.     { { { DISPOSE_MODE_REL_PARENT, 0, 0, 0 },
  4.         { DISPOSE_MODE_REL_PARENT, 0, 0, 0 },
  5.         { DISPOSE_MODE_REL_PARENT, 0, 0, 0 },
  6.         { DISPOSE_MODE_REL_PARENT, 187, 0, 0 },
  7.       },
  8.       0, 0, 0, 0, 0, 0
  9.     },
  10.   },
  11.   { WM_OBJECT_BOX_Create,
  12.     ID_BOX_00, ID_SCREEN_00,
  13.     { { { DISPOSE_MODE_REL_PARENT, 0, 0, 0 },
  14.         { DISPOSE_MODE_REL_PARENT, 53, 0, 0 },
  15.         { DISPOSE_MODE_REL_PARENT, 0, 0, 0 },
  16.         { DISPOSE_MODE_REL_PARENT, 0, 0, 0 },
  17.       },
  18.       0, 0, 0, 0, 0, 0
  19.     },
  20.   },
复制代码


输出错误的
  1.   { WM_OBJECT_BOX_Create,
  2.     ID_BOX_00, ID_SCREEN_00,
  3.     { { { DISPOSE_MODE_REL_PARENT, 0, 0, 0 },
  4.         { DISPOSE_MODE_REL_PARENT, 53, 0, 0 },
  5.         { DISPOSE_MODE_REL_PARENT, 0, 0, 0 },
  6.         { DISPOSE_MODE_REL_PARENT, 0, 0, 0 },
  7.       },
  8.       0, 0, 0, 0, 0, 0
  9.     },
  10.   },
  11.   { WM_OBJECT_BOX_Create,
  12.     ID_BOX_01, ID_SCREEN_00,
  13.     { { { DISPOSE_MODE_REL_PARENT, 0, 0, 0 },
  14.         { DISPOSE_MODE_REL_PARENT, 0, 0, 0 },
  15.         { DISPOSE_MODE_REL_PARENT, 0, 0, 0 },
  16.         { DISPOSE_MODE_REL_PARENT, 187, 0, 0 },
  17.       },
  18.       0, 0, 0, 0, 0, 0
  19.     },
  20.   },
复制代码


还有就是下面的Setup,颜色的修改,不是问题点

结论为AppWizard对于叠加输出,在非0层的会出错。

由于AppWizard没有公开库函数,因此不能查证问题点在哪里
暂时怀疑AppWizard使用的函数有部分写死层0,而没有开放选择输出到其他层里面

后续等待更新版本看是否有改正这一问题


回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-21 18:21 , Processed in 0.287745 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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