找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 126|回复: 0
打印 上一主题 下一主题
收起左侧

ILI9341几个重要的命令

[复制链接]
跳转到指定楼层
楼主
ID:951102 发表于 2021-7-9 11:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以下内容为《STM32F1开发指南--库函数版》,仅为个人学习方便所整理
1.0XD3:读 ID指令,
        用于读取LCD控制器的ID,该指令如表1所示,可以看出0XD3指令后面跟了4个参数,最后2个参数读出来是 0X93和0 X41,刚好是控制器ILI9341的数字部分,通过该指令即可判别所用的LCD驱动器是什么型号,这样就可以根据控制器的型号去执行对应驱动IC的初始化代码,从而兼容不同驱动 IC 的屏,使得一个代码支持多款 LCD。        2.0X36:存储访问控制指令         可以控制ILI9341存储器的读写方向,就是在连续写GRAM的时候,可以控制GRAM指针的增长方向,从而控制显示方式(读GRAM也是一样),该指令如表2所示:         
      
从上表可以看出0X36指令后面紧跟一个参数,这里主要关注MY、MX、 MV这三个位,通过这三个位的设置可以控制整个ILI9341的全部扫描方向,如表3所示:
      
3.0X2A:列地址设置指令         指令如表4 所示,在从左到右,从上到下的扫描方式(默认)下,用于设置横坐标(x坐标),带有4个参数,实际上是2个坐标值:SC和EC,即列地址的起始值和结束值,SC必须小于等于EC,且 0≤SC/EC≤239。一般在设置x坐标的时候,只需要带2个参数即可,也就是设置 SC即可,因为如果EC没有变化,只需要设置一次即可(在初始化ILI9341的时候设置),从而提高速度。
             4.0X2B:页地址设置指令        指令如表5所示,在从左到右,从上到下的扫描方式(默认)下,用于设置纵坐标(y坐标),带有4个参数,实际上是2个坐标值:SP和EP,即页地址的起始值和结束值,SP必须小于等于EP,且 0≤SP/EP≤319。一般在设置y坐标的时候,只需要带2个参数即可,也就是设置 SP即可,因为如果EP没有变化,只需要设置一次即可(在初始化ILI9341的时候设置),从而提高速度。
     
5.0X2C:写GRAM 指令        在发送该指令之后,便可以往LCD的GRAM 里面写入色数据了,该指令支持连续写,指令描述如表6所示:
     从上表可知,在收到指令0X2C之后,数据有效位宽变为16位,可以连续写入LCDGRAM值,而GRAM的地址将根据MY/MX/MV设置的扫描方向进行自增。例如:假设设置的是从左到右,从上到下的扫描方式,那么设置好起始坐标(通过SC,SP设置)后,每写入一个颜色值,GRAM地址将会自动自增1(SC++),如果碰到EC,则回到SC,同时SP++,一直到坐标:EC,EP结束,其间无需再次设置的坐标,从而大大提高写入速度。
6.0X2E:读 GRAM 指令   用于读取ILI9341的显存(GRAM),输出情况如表7所示:ILI9341在收到该指令后,第一次输出的是dummy数据,也就是无效的数据,第二次开始,读取到的才是有效的 GRAM数据(从坐标:SC,SP 开始),输出规律为:每个颜色分量占8个位,一次输出2个颜色分量。比如:第一次输出是R1G1,随后的规律为:B1R2àG2B2àR3G3àB3R4àG4B4à R5G5... 以此类推。如果只需要读取一个点的颜色值,那么只需要接收到参数3即可,如果要连续读取(利用GRAM地址自增,方法同上),那么就按照上述规律去接收颜色数据。


      以上就是操作ILI9341常用的几个指令,通过这几个指令便可以很好的控制 ILI9341显示需要的内容了。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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