本文共 1248 字,大约阅读时间需要 4 分钟。
读取LCD控制器的ID指令用于确定LCD驱动器型号。该指令如表1所示,0XD3指令后面跟了4个参数,其中最后2个参数读出的值为0X93和0X41。这正是用于ILI9341的数字部分,通过该指令可判别所用的LCD驱动器型号,从而选择对应驱动IC进行初始化,实现对多款LCD屏的兼容性。
表1 0XD3指令描述 | |
---|---|
参数说明 | 含义 |
- | - |
该指令用于控制ILI9341存储器的读写方向。在进行GRAM连续写操作时,可通过该指令设置GRAM指针的增长方向,从而控制显示方式。表2所示,0X36指令后面紧跟一个参数,主要关注MY、MX、MV这三个位。通过这三个位的设置,可控制整个ILI9341的全部扫描方向,如表3所示。
表2 0X36指令描述 | |
---|---|
参数说明 | 含义 |
- | - |
表3 MY、MX、MV设置与LCD扫描方向关系表 | |||
---|---|---|---|
MY位 | MX位 | MV位 | 扫描方向 |
0 | 0 | 0 | 从左到右,从上到下 |
0 | 0 | 1 | 从右到左,从上到下 |
0 | 1 | 0 | 从左到右,从下到上 |
0 | 1 | 1 | 从右到左,从下到上 |
该指令用于设置横坐标(x坐标)。带有4个参数,实际上是设置SC和EC两个坐标值。SC为列地址的起始值,EC为列地址的结束值。SC必须小于等于EC,且0≤SC/EC≤239。一般只需设置SC即可,因为EC没有变化时,只需初始化设置即可,提高速度。
表4 0X2A指令描述 | |
---|---|
参数说明 | 含义 |
- | - |
该指令用于设置纵坐标(y坐标)。带有4个参数,实际上是设置SP和EP两个坐标值。SP为页地址的起始值,EP为页地址的结束值。SP必须小于等于EP,且0≤SP/EP≤319。一般只需设置SP即可,因为EP没有变化时,只需初始化设置即可,提高速度。
表5 0X2B指令描述 | |
---|---|
参数说明 | 含义 |
- | - |
该指令用于向LCD的GRAM中写入颜色数据。发送该指令后,才能向GRAM中写入颜色数据。该指令支持连续写。表6所示,指令发送后,数据有效位宽变为16位,GRAM地址将根据MY/MX/MV设置的扫描方向进行自增。
表6 0X2C指令描述 | |
---|---|
参数说明 | 含义 |
- | - |
该指令用于读取ILI9341的显存(GRAM)。表7所示,指令发送后,首次输出为dummy数据(无效数据),第二次开始读取有效GRAM数据。输出规律为:每个颜色分量占8个位,一次输出2个颜色分量。例如:第一次输出为R1G1,随后的规律为B1R2→G2B2→R3G3→B3R4→G4B4→R5G5... 如此循环。如果只需读取一个点的颜色值,可接收到参数3即可。如果需要连续读取,可按照上述规律接收颜色数据。
表7 0X2E指令描述 | |
---|---|
参数说明 | 含义 |
- | - |
以上是操作ILI9341常用的几个指令,通过这些指令可以很好地控制显示功能。
转载地址:http://oxjzz.baihongyu.com/