你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 5052|回复: 4

【实战经验】基于 STemWin的屏幕旋转

[复制链接]

1182

主题

3785

回帖

1

蝴蝶豆

论坛元老

最后登录
2020-3-17
发表于 2017-3-9 10:14:03 | 显示全部楼层 |阅读模式
基于 STemWin的屏幕旋转

1前言
客户反馈利用的F429-Disco板上的STemwin的Demo程序无法实现的屏幕的0,90,180,270度的旋转。

2 问题跟进与分析
通过查看stemwin 的手册,发现有如下三种方式可以实现屏幕的旋转功能。
1) 利用GUI_SetOrientation()和相对应的宏参数GUI_MIRROR_X,GUI_MIRROR_Y,GUI_SWAP_XY
21.jpg
2)利用LCD_MIRROR_X,LCD_MIRROR_Y,LCD_SWAP_XY

22.jpg
3)可以选择不同的驱动函数GUIDRV_LIN_32,GUIDRV_LIN_OX_32等,此种方法只是基于LTDC屏的写的,所以只能用在LTDC屏,如下
23.jpg


查看LCDConf_stm32f429i_disco_MB1075.c中代码发现驱动程序中有如下的定义,也就是上文提到的方法二,客户基于这宏进行了修改,但是屏幕旋转功能并没有生效。
24.jpg
通过跟踪代码,发现这些宏在代码中并没有用到,所以客户在修改这些宏定义是完全不会起作用的,然后通过代码调试,发现可以通过
25.jpg
此行驱动的选择中的宏DISPLAY_DRIVER_0来设置屏幕的旋转功能也就是我们说的第三种方法,
可以找到对应的宏定义
26.jpg
可以修改宏DISPLAY_DRIVER_0 对应的参数设置成如下就查找对应的表,就可以得到相关的显示效果。 其他的宏定义在文件GUIDRV_Lin.h如下
27.jpg

4)另外客户又询问了如何在FMC屏实现GUI界面的旋转功能,查找对应的代码发现有GUI_MIRROR_X,GUI_MIRROR_Y,GUI_SWAP_XY相关的宏定义,如是用GUI_SetOrientation()函数去设置,发现不能起作用,并且此函数返回值一直是1,有看相关的资料,怀疑是为GUI分配的虚拟内存不够,但是加大内存也是返回1,查看LCDConf.c文件中的code发现有如下定义可以取代GUI_SetOrientation()函数的功能
888.png
对照表一中的参数修改即可得到对应的显示效果。

结论
在查看STemWin的用户手册可以看到很多功能的实现方法,有时候也需要结合实际的代码看下,具体功能实现方法有没有修改,根据代码需求进行一些差异化的修改。





文档下载

更多实战经验
回复

使用道具 举报

50

主题

1057

回帖

67

蝴蝶豆

论坛元老

最后登录
2020-12-2
发表于 2017-3-9 12:45:57 | 显示全部楼层
这类实战经验很有用
回复 支持 反对

使用道具 举报

1182

主题

3785

回帖

1

蝴蝶豆

论坛元老

最后登录
2020-3-17
 楼主| 发表于 2017-3-16 15:27:58 | 显示全部楼层
watershade 发表于 2017-3-9 12:45
这类实战经验很有用

谢谢支持
回复 支持 反对

使用道具 举报

13

主题

31

回帖

0

蝴蝶豆

高级会员

最后登录
2019-7-25
发表于 2017-4-21 14:12:33 | 显示全部楼层
楼主你好,针对修改宏LCD_MIRROR_X,LCD_MIRROR_Y,LCD_SWAP_XY,这是配置编译时起作用吧?
我要在程序运行中切换横竖屏,使用GUI_SetOrientation()函数总是失败,请问是啥原因呢,用的是RGB屏,也怀疑内存不够,增加缓存也不行,请问应该怎么解决呢?
回复 支持 反对

使用道具 举报

1

主题

1

回帖

0

蝴蝶豆

新手上路

最后登录
2018-8-14
发表于 2018-8-14 15:29:29 | 显示全部楼层
你好,我使用的emwin里面GUIDRV_Lin.h文件里面的宏不能用,就算用了也是报错。请问这是什么情况呢??
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版