硬汉嵌入式论坛

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

[emWin] 可以正常显示数字字母,但窗口控件显示不出来

[复制链接]

98

主题

356

回帖

650

积分

金牌会员

积分
650
发表于 2019-7-20 16:50:38 | 显示全部楼层 |阅读模式
请教硬汉哥,如题:用的是黑白屏160*160,目前调用GUI_DispString函数没问题,但创建的窗口和控件什么都显示不出来,而在模拟器上可以正常显示。
内存用的片内RAM,暂时开了50K。
可能是哪儿的原因呢?




回复

使用道具 举报

98

主题

356

回帖

650

积分

金牌会员

积分
650
 楼主| 发表于 2019-7-20 16:54:40 | 显示全部楼层
回调函数都可以正常进入,难道是哪个显示驱动有问题?
回复

使用道具 举报

98

主题

356

回帖

650

积分

金牌会员

积分
650
 楼主| 发表于 2019-7-20 17:08:59 | 显示全部楼层
参照OLED的移植,没有开优化
回复

使用道具 举报

98

主题

356

回帖

650

积分

金牌会员

积分
650
 楼主| 发表于 2019-7-20 17:20:46 | 显示全部楼层
仿真发现CreateFrameewin之后就没有再调用打点函数,这样的话肯定出不来界面了,可这是什么原因呢?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2019-7-21 09:25:06 | 显示全部楼层
你裸机显示正常吧,然后就是底层不要做任何优化,仅做打点和读点。
回复

使用道具 举报

98

主题

356

回帖

650

积分

金牌会员

积分
650
 楼主| 发表于 2019-7-21 15:32:14 | 显示全部楼层
eric2013 发表于 2019-7-21 09:25
你裸机显示正常吧,然后就是底层不要做任何优化,仅做打点和读点。

裸机没有测试显示控件界面是否正常,我随后试试,目前显示字幕数字都是正常的,目前仅做了打点和读点函数,其它的跟OLED例程对比了,没有优化,一致的。
回复

使用道具 举报

98

主题

356

回帖

650

积分

金牌会员

积分
650
 楼主| 发表于 2019-7-21 21:05:25 | 显示全部楼层
一个奇怪的现象,DEMO仅以下3行,屏幕共计25600个像素点,执行以下3行后,画点函数调用25600次,全是画0,读点函数一次没有调用。EMWIN似乎仅执行了一次清屏操作就没有然后了。
WM_SetCreateFlags(WM_CF_MEMDEV);
GUI_Init();
CreateFramewin ();
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2019-7-22 08:15:54 | 显示全部楼层
云琴箫龙 发表于 2019-7-21 21:05
一个奇怪的现象,DEMO仅以下3行,屏幕共计25600个像素点,执行以下3行后,画点函数调用25600次,全是画0, ...

大概率没有移植好
回复

使用道具 举报

98

主题

356

回帖

650

积分

金牌会员

积分
650
 楼主| 发表于 2019-7-22 15:30:40 | 显示全部楼层
本帖最后由 云琴箫龙 于 2019-7-22 15:35 编辑
eric2013 发表于 2019-7-22 08:15
大概率没有移植好
移植需要修改的就那几个文件,跟OLED例程对比也没发现什么问题,劳烦硬汉哥若有时间帮忙看一下,不胜感激。 F429_CORE界面不显示.7z (11.86 MB, 下载次数: 158)
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2019-7-22 16:06:27 | 显示全部楼层
云琴箫龙 发表于 2019-7-22 15:30
移植需要修改的就那几个文件,跟OLED例程对比也没发现什么问题,劳烦硬汉哥若有时间帮忙看一下,不胜感激。

你这个还真不知道是咋回事。
回复

使用道具 举报

98

主题

356

回帖

650

积分

金牌会员

积分
650
 楼主| 发表于 2019-7-22 19:50:49 | 显示全部楼层
eric2013 发表于 2019-7-22 16:06
你这个还真不知道是咋回事。

找到问题了,把GUI任务中的延时函数OSTimeDly ( 100, OS_OPT_TIME_DLY, & err );替换成GUI_Delay(100);就可以正常显示出来了。OLED例程中都没有这个延时函数,我这里去掉延时也不行,原因有待查找。
还有就是实际显示和模拟界面有所不同,Template.c文件中只修改了画点和读点函数,其它都是直接拷贝的OLED例程里面的,请教硬汉哥还有可能是哪儿的原因呢? fz.png sj.png
回复

使用道具 举报

23

主题

1443

回帖

1512

积分

至尊会员

积分
1512
发表于 2019-7-23 08:29:40 | 显示全部楼层
云琴箫龙 发表于 2019-7-22 19:50
找到问题了,把GUI任务中的延时函数OSTimeDly ( 100, OS_OPT_TIME_DLY, & err );替换成GUI_Delay(100);就 ...

老铁以前是不是没有搞过GUI

1、要加上GUI_Exec,WM_Eexc,GUI_Dealey之类的函数执行窗口管理器功能才能正常使用控件和窗口
2、左侧是老版emWin,也就是没有使用皮肤色那个年代的显示效果
代码不规范,亲人两行泪!
回复

使用道具 举报

98

主题

356

回帖

650

积分

金牌会员

积分
650
 楼主| 发表于 2019-7-23 10:00:16 | 显示全部楼层
missfox 发表于 2019-7-23 08:29
老铁以前是不是没有搞过GUI

1、要加上GUI_Exec,WM_Eexc,GUI_Dealey之类的函数执行窗口管理器功 ...

确实刚开始搞图形界面,跟着硬汉的例程来的,多多指教
回复

使用道具 举报

98

主题

356

回帖

650

积分

金牌会员

积分
650
 楼主| 发表于 2019-7-23 10:01:20 | 显示全部楼层
missfox 发表于 2019-7-23 08:29
老铁以前是不是没有搞过GUI

1、要加上GUI_Exec,WM_Eexc,GUI_Dealey之类的函数执行窗口管理器功 ...

我使用的屏幕本身就是黑白屏
回复

使用道具 举报

9

主题

59

回帖

86

积分

初级会员

积分
86
发表于 2019-7-23 14:53:12 | 显示全部楼层
云琴箫龙 发表于 2019-7-23 10:01
我使用的屏幕本身就是黑白屏

使用了窗口,就必须调用GUI_Exec,或者GUI_Delay,不然窗口跑步起来。。
回复

使用道具 举报

98

主题

356

回帖

650

积分

金牌会员

积分
650
 楼主| 发表于 2019-7-23 16:29:59 | 显示全部楼层
chenlijian80 发表于 2019-7-23 14:53
使用了窗口,就必须调用GUI_Exec,或者GUI_Delay,不然窗口跑步起来。。

好的,多谢指点
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-18 07:28 , Processed in 1.528283 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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