OpenEdv-开源电子网

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

有关ili9341设置横屏的方法

[复制链接]

17

主题

80

帖子

0

精华

高级会员

Rank: 4

积分
531
金钱
531
注册时间
2015-12-2
在线时间
164 小时
发表于 2016-9-26 09:54:09 | 显示全部楼层 |阅读模式
    近来在研究LCD,刚好从原子哥那里买的是ili9341,当然了这个用的也是比较多的,于是乎网上搜索了好多关于设置LCD横屏的方法,写的都不太详细,甚至还有帖子说ili9341是无法设置横屏的,对此很不解,经过仔细研究,是可以实现的,具体方法如下:
首先,系统默认的是竖屏,就是物理地址的00-239,第二行是物理地址的240开始。扫描的方法为从左到右从上到下。物理地址的(0,0)代表的是左上!物理地址(0,239)表示的是右上!
设置的方法为:
                lcddev.dir=0;       
                lcddev.width=240;
                lcddev.height=320;
                lcddev.wramcmd=0X2C;
                lcddev.setxcmd=0X2A;
                lcddev.setycmd=0X2B;

       然后设置0x36=0x00;这个没什么好说的。

当设置为横屏的时候,注意应该设置为:
                lcddev.dir=1;       
                lcddev.width=320;
                lcddev.height=240;
                lcddev.wramcmd=0X2C;
                lcddev.setxcmd=0X2B;
                lcddev.setycmd=0X2A;

这里的设置和竖屏完全相反了已经,上述改动任何一个地方出错,将导致横屏设置失败,如果        lcddev.width=240;lcddev.height=320;或者        lcddev.setxcmd=0X2A;lcddev.setycmd=0X2B;都有可能设置成只能显示240*240的正方形,其余的部分无法写数据的问题!
      由于这里我们的参数设置发生了改变,相应的扫描方式也会发生改变!在这种设置下,对应的物理地址(0,0)表示的是下!(0.239)表示的是上!
  所以我们写0x36=0x80;表示扫描的方法是左到右,然后下到上!这样就能够扫描到整个屏幕了!
  由于本人不大会玩这个,所以也不知道怎么添加图片。。。只能写文字了!



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

使用道具 举报

10

主题

40

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2016-11-4
在线时间
14 小时
发表于 2016-11-7 15:28:47 | 显示全部楼层
这样子改的话void LCD_SetCursor(u16 Xpos, u16 Ypos) {     LCD_WR_REG(lcddev.setxcmd);          LCD_WR_DATA8(Xpos>>8);          LCD_WR_DATA8(Xpos&0XFF);          LCD_WR_REG(lcddev.setycmd);          LCD_WR_DATA8(Ypos>>8);          LCD_WR_DATA8(Ypos&0XFF);}这里面就被修改了,那之后调用了这个函数的都会出现错误,作者有遇到这个问题吗
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-25 00:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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