ILI9341几个重要的命令
发布日期:2021-05-08 19:54:14 浏览次数:13 分类:精选文章

本文共 1510 字,大约阅读时间需要 5 分钟。

以下内容整理自正点原子《STM32F1开发指南--库函数版》,仅为个人学习方便所整理

1.0XD3 ID指令

用于读取LCD控制器的ID,该指令如1所示,可以看出0XD3指令后面跟了4个参数,最后2个参数读出来是 0X930 X41,刚好是控制器ILI9341的数字部分,通过该指令即可判别所用的LCD驱动器是什么型号,这样就可以根据控制器的型号去执行对应驱动IC的初始化代码,从而兼容不同驱动 IC 的屏,使得一个代码支持多款 LCD

                                                         表1 0XD3指令描述

                       

2.0X36:存储访问控制指令

可以控制ILI9341存储器的读写方向,就是在连续写GRAM的时候,可以控制GRAM指针的增长方向,从而控制显示方式(读GRAM也是一样),该指令如表2所示:

                                                             表2 0X36指令描述

                         

从上表可以看出0X36指令后面紧跟一个参数,这里主要关注MYMX MV这三个位,通过这三个位的设置可以控制整个ILI9341的全部扫描方向,如表3所示:

                                        表3 MYMXMV设置与LCD扫描方向关系表

                                                  

 

3.0X2A:列地址设置指令

指令如表4 所示,在从左到右,从上到下的扫描方式(默认)下,用于设置横坐标(x坐标),带有4个参数,实际上是2个坐标值:SCEC,即列地址的起始值和结束值,SC必须小于等于EC,且 0≤SC/EC≤239。一般在设置x坐标的时候,只需要带2个参数即可,也就是设置 SC即可,因为如果EC没有变化,只需要设置一次即可(在初始化ILI9341的时候设置),从而提高速度。

                                                                           表4 0X2A指令描述

                                     

4.0X2B:页地址设置指令

指令如表5所示,在从左到右,从上到下的扫描方式(默认)下,用于设置纵坐标(y坐标),带有4个参数,实际上是2个坐标值:SPEP,即页地址的起始值和结束值,SP必须小于等于EP,且 0≤SP/EP≤319。一般在设置y坐标的时候,只需要带2个参数即可,也就是设置 SP即可,因为如果EP没有变化,只需要设置一次即可(在初始化ILI9341的时候设置),从而提高速度。

                                                                             表5 0X2B指令描述 

                                      

5.0X2C:写GRAM 指令

在发送该指令之后,便可以往LCDGRAM 里面写入颜色数据了,该指令支持连续写,指令描述如表6所示:

                                                                          表6 0X2C指令描述

 

                                       

从上表可知,在收到指令0X2C之后,数据有效位宽变为16位,可以连续写入LCDGRAM值,而GRAM的地址将根据MY/MX/MV设置的扫描方向进行自增。例如:假设设置的是从左到右,从上到下的扫描方式,那么设置好起始坐标(通过SCSP设置)后,每写入一个颜色值,GRAM地址将会自动自增1SC++),如果碰到EC,则回到SC,同时SP++,一直到坐标:ECEP结束,其间无需再次设置的坐标,从而大大提高写入速度。

 

6.0X2E:读 GRAM 指令

用于读取ILI9341的显存(GRAM),输出情况如表7所示:ILI9341在收到该指令后,第一次输出的是dummy数据,也就是无效的数据,第二次开始,读取到的才是有效的 GRAM数据(从坐标:SCSP 开始),输出规律为:每个颜色分量占8个位,一次输出2个颜色分量。比如:第一次输出是R1G1,随后的规律为:B1R2àG2B2àR3G3àB3R4àG4B4à R5G5... 以此类推。如果只需要读取一个点的颜色值,那么只需要接收到参数3即可,如果要连续读取(利用GRAM地址自增,方法同上),那么就按照上述规律去接收颜色数据。

                                                                     表7 0X2E指令描述

                            

 

以上就是操作ILI9341常用的几个指令,通过这几个指令便可以很好的控制 ILI9341显示需要的内容了。

上一篇:STM32 FSMC简介(一)
下一篇:常用存储器分类

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年03月27日 17时00分57秒