硬汉嵌入式论坛

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

[ThreadX全家桶] guix 竖屏改横屏

[复制链接]

11

主题

135

回帖

168

积分

初级会员

积分
168
发表于 2022-2-15 16:43:15 | 显示全部楼层 |阅读模式
最近刷一个屏幕,屏幕本身只能竖着刷,改不了坐标,可能RGB接口都这样吧。
刚开始想直接把控件旋转下,发现转不了。guix创建的时候有个CW,CCW可以转,这样至少规划界面是方便的。那么x resolution  y resoluton 应该是竖屏的还是横屏的?
看了横屏转竖屏的帖子,看那意思涉及到显示buffer的底层都要转过来重新配置,是这样吗?
个人感觉这个东西,不涉及硬件啊,guix stduio 里面配置下就应该可以啊
回复

使用道具 举报

24

主题

122

回帖

194

积分

初级会员

积分
194
发表于 2022-2-16 10:33:01 | 显示全部楼层
如果LCD本身的控制器,或者MCU支持硬件旋转,最好是硬件实现旋转。这时候的分辨率可以这样设置:
1-UI工程比如studio里面,按实际使用时候的分辨率配置,比如横屏使用,配置为800*480;
2-LCD底层驱动,按LCD的实际参数设置,比如480*800的竖屏,只能设置为480*800;
3-LCD刷新时,人为对显示缓冲数据做90度旋转。旋转本身会很耗时。

至于GUI自带旋转功能,应该也是软件实现的。如果是全屏刷新,应该也是很耗时的。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107643
QQ
发表于 2022-2-16 10:56:01 | 显示全部楼层
对于RGB接口屏,当前GUIX Studio支持的旋转方式,不好用。
回复

使用道具 举报

11

主题

135

回帖

168

积分

初级会员

积分
168
 楼主| 发表于 2022-2-16 11:38:26 | 显示全部楼层
yxydoctor 发表于 2022-2-16 10:33
如果LCD本身的控制器,或者MCU支持硬件旋转,最好是硬件实现旋转。这时候的分辨率可以这样设置:
1-UI工程 ...

多谢,这东西咋说呢,软件可能是慢一些,但多一种选择,岂不是更好
回复

使用道具 举报

11

主题

135

回帖

168

积分

初级会员

积分
168
 楼主| 发表于 2022-2-18 08:42:11 | 显示全部楼层
最近又学习了下LTDC  和 DMA2D ,发现St的单片机,即使用硬件也不可能实现一次转90°,摆脱不了for循环的悲惨命运。是不是只能GUI来支持了,字体啊,控件 啊,窗体啊,这些细节的东西,统统的支持水平和垂直两个操作。可能还要来几个垂直字库,看了guix 又增加了一些rotate的函数,但感觉不够啊,做等等党有希望吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107643
QQ
发表于 2022-2-18 09:37:41 | 显示全部楼层
exp_exp 发表于 2022-2-18 08:42
最近又学习了下LTDC  和 DMA2D ,发现St的单片机,即使用硬件也不可能实现一次转90°,摆脱不了for循环的悲 ...

没问题,MDMA就可以旋转,实例6.

STM32H7的MDMA的几个官方实例学习,功能强,但使用也稍复杂
https://www.armbbs.cn/forum.php? ... id=88905&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

11

主题

135

回帖

168

积分

初级会员

积分
168
 楼主| 发表于 2022-2-18 11:08:37 | 显示全部楼层
eric2013 发表于 2022-2-18 09:37
没问题,MDMA就可以旋转,实例6.

STM32H7的MDMA的几个官方实例学习,功能强,但使用也稍复杂

用的F7驱动的,似乎没有mdma啊。有空再看看guix的rotate函数,没准支持的差不多了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107643
QQ
发表于 2022-2-19 08:35:44 | 显示全部楼层
exp_exp 发表于 2022-2-18 11:08
用的F7驱动的,似乎没有mdma啊。有空再看看guix的rotate函数,没准支持的差不多了

最好还是他们官方去解决,GUIX Studio可以无痛切换。
回复

使用道具 举报

3

主题

4

回帖

13

积分

新手上路

积分
13
发表于 2022-3-30 16:34:23 | 显示全部楼层
yxydoctor 发表于 2022-2-16 10:33
如果LCD本身的控制器,或者MCU支持硬件旋转,最好是硬件实现旋转。这时候的分辨率可以这样设置:
1-UI工程 ...

你好,我想请教一下你说的第三点认为对显示换成数据做90度旋转,是怎么实现的呢,是里面有个函数接口让换从数据进行旋转90度码
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2022-6-27 04:07:28 | 显示全部楼层
eric2013 发表于 2022-2-18 09:37
没问题,MDMA就可以旋转,实例6.

STM32H7的MDMA的几个官方实例学习,功能强,但使用也稍复杂

最近遇到同樣的問題,參考了實例6. 我發現實例6是沒辦法實現90度旋轉的,我使用了MDMA的鏈表,但是必須創建X_size大小的鏈表組,這太不實際了,其他硬件觸發也沒辦法逐個修改位址,MDMA太可惜了他的資料位移只能 BYTE、HALFWORD、WORD、DOUBLEWORD,沒辦法像DMA2D那樣直接設定行偏移,雖然塊傳輸完可以設置位址偏移,但是仍不夠阿,這樣等於還少一個for的外圈
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107643
QQ
发表于 2022-6-27 10:52:26 | 显示全部楼层
loveforme 发表于 2022-6-27 04:07
最近遇到同樣的問題,參考了實例6. 我發現實例6是沒辦法實現90度旋轉的,我使用了MDMA的鏈表,但是必須創 ...

那无解了,让ThreadX官方去解决吧
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2022-6-27 16:22:23 | 显示全部楼层
eric2013 发表于 2022-6-27 10:52
那无解了,让ThreadX官方去解决吧

請問老師,GUIX6.1以上有支持嗎?  我目前用6.0版的裡面的rotate 似乎只是將原先設定的Xsize跟Ysize對調,但因為目前使用win7,所以沒有更新到6.1,原先我是跟著老師用emwin的但是只用到了5.44版就沒有再多著墨,最近想更新下介面,發現有emwin6.x版本了,但是搭配APPWizard總是出現硬件錯誤,沒有搭的話倒是都正常,又發現了emwin已經出終結版了,想說學習一下GUIX,沒想到剛入門就踢磚了....
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107643
QQ
发表于 2022-6-27 16:50:04 | 显示全部楼层
loveforme 发表于 2022-6-27 16:22
請問老師,GUIX6.1以上有支持嗎?  我目前用6.0版的裡面的rotate 似乎只是將原先設定的Xsize跟Ysize對調, ...

什么时候emWin出终结版了?
可以肯定,AppWizard搭配出硬件问题,从自己的程序设计找原因。因为我就在用。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-10 03:00 , Processed in 0.192697 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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