OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7459|回复: 6

STemWin字符显示正确,单词整体顺序反向问题

[复制链接]

1

主题

1

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2013-12-2
在线时间
7 小时
发表于 2014-5-16 11:06:47 | 显示全部楼层 |阅读模式
5金钱
刚开始接触STemwin,参考了两位好心人的笔记 http://www.openedv.com/posts/list/28316.htm 和http://www.openedv.com/posts/list/27697.htm,
写的都非常详细,在此感谢。今天尝试写 Hello World,结果GUI_DispStringAt("Hello World!", 0, 0) 语句执行的结果是从屏幕右边开始显示"dlroW olleH", 

每个字母都显示正常,但是整体的顺序反向了,感觉这个问题有点奇葩,不知道是什么情况,请大家多指教
LCD_X_Config函数里设置了Config.Orientation =  GUI_MIRROR_X;   
不过如果不设置方向,也就是Config.Orientation=0的话,整体显示顺序依然是从右向左,而且每个字母都是左右反向显示的。

驱动芯片是 ILI9481 (无stemwin时候显示正常)。感觉屏幕的坐标系变成右上角是 (0,0)了。也修改了9481驱动的set_address_mode(36h)寄存器的值,尝试从驱动上修改显示方向什么的,但是没有任何变化。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-5-16 12:38:06 | 显示全部楼层
注意这句话了
1、Config.Orientation = GUI_SWAP_XY | GUI_MIRROR_Y;不需要的话可以将它注释掉(视你LCD初始化的时候对应寄存器的设置决定)

2、此时重要的函数来喽void LCD_X_Config(void)

   Config.Orientation = GUI_SWAP_XY | GUI_MIRROR_Y;

  这句是显示方向的,默认的是这个,弄好后,下进去板子,看是否正常显示,不正常显示可以试试该这里哦。PS:9341的能行,但是6804的不行,看哪位能解决哦!

两个帖子上面不是已经说明了么,前提是你的LCD驱动器型号要设置对,在你的LCD初始化函数里面设置好了显示方向的话,这里你就可以注释掉这个设置了
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

7

主题

333

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1838
金钱
1838
注册时间
2012-7-16
在线时间
504 小时
发表于 2014-8-3 12:10:49 | 显示全部楼层
我也遇到这个问题,楼主解决了没有。
回复

使用道具 举报

14

主题

191

帖子

0

精华

QQ游客

积分
813
金钱
813
注册时间
2013-6-9
在线时间
181 小时
发表于 2014-8-3 19:21:27 | 显示全部楼层
扫描方向反了,光调36寄存器不行,还要调B6寄存器,主要是GS、SS这两个位决定扫描方向,我用的是ILI9486,费了好大劲才调出来,1楼的方法适用于使用emwin内置驱动,自定义驱动就不行了。
回复

使用道具 举报

7

主题

333

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1838
金钱
1838
注册时间
2012-7-16
在线时间
504 小时
发表于 2014-8-4 14:21:46 | 显示全部楼层
回复【4楼】rgzdb:
---------------------------------
求教怎么调的我现在用的ILI9481就只调36寄存器了,不知道你指的B6是怎么弄。
回复

使用道具 举报

14

主题

191

帖子

0

精华

QQ游客

积分
813
金钱
813
注册时间
2013-6-9
在线时间
181 小时
发表于 2014-8-4 17:53:40 | 显示全部楼层
回复【5楼】hyghyg1234:
---------------------------------
你的TFT是ili9481,看了下手册,你调下C0h寄存器GS的值,你编一个画一条直线的程序,中间加上延时,调寄存器时看画线的方向判断行、列扫描方向。
回复

使用道具 举报

7

主题

333

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1838
金钱
1838
注册时间
2012-7-16
在线时间
504 小时
发表于 2014-8-5 13:11:38 | 显示全部楼层
回复【6楼】rgzdb:
---------------------------------
好的,谢谢。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 14:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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