乐趣区

关于程序员:ILI9341控制器六条关键指令说明

ILI9341 是液晶控制器的一种,其自带 172800(4032018/8)的显存,即 18 位模式(6 万色)的显存量。在 16 位模式下,ILI9341 采纳的是 RGB565 格局进行色彩数据的存储,16 位数据从低到高顺次代表蓝色、绿色、红色,其中蓝色占了最低的 5 位,红色占了最高的 5 位,两头 6 位为绿色。其中数值越大示意该处色彩越深。该驱动器和其余驱动器相比有一点不同:其所有指令都是低 8 位无效,高 8 位有效,且参数除了读写 GRAM 的时候是 16 位,其余操作参数都是 8 位。
以下局部介绍该款液晶控制器 6 个罕用的命令。
1、0XD3  这个指令的作用是读取 ID4,也就是用于读取 LCD 控制器的 ID。指令表如下:

在该指令表中能够看出,0XD3 指令前面有 4 个参数,最初两个参数:0XD3 和 0X41,是控制器 ILI9341 的数字局部。因而,通过这条指令咱们就能够判断所用的 LCD 驱动器是什么型号,在编程时就能够依据控制器的不同型号去执行对应 IC 的初始化代码,做到同时兼容不同 IC 的各类屏幕,使得一个代码能够反对多款 LCD。
2、0X36(存储拜访控制指令)该指令 <span class=”colour” style=”color:rgb(0, 0, 0)”> 在间断写 / 读 GRAM 的时候,能够管制 GRAM 指针的增长方向,从而管制显示方式。该指令的指令表:</span>

通过对该指令表中 MY,MX,MV 三个参数的设置,能够管制整个 ILI9341 的扫描方向。

设置好扫描方向后,咱们只须要设置一次坐标,而后不停的往 LCD 外面填充色彩即可,这样能够大大提高显示速度。
3、0X2A(列地址设置指令)默认扫描形式:从左到右,从上到下,该指令用于设置横坐标。指令表如下:</span>

该指令带有四个参数,实际上是两个坐标值:SC 和 EC,即列地址的起始值和完结值。
4、0X2B(页地址设置指令)默认扫描形式:从左到右,从上到下,该指令用于设置纵坐标。指令表如下:

该指令带有四个参数,实际上是两个坐标值:SP 和 EP,即页地址的起始值和完结值。
5、0X2C(写 GRAM 指令)发送该指令之后,能够往 LCD 的 GRAM 外面写入色彩数据,该指令反对间断写。指令表如下:

收到指令 0X2C 之后,数据无效位宽变为 16 位,能够间断写入 LCD GRAM 值,而 GRAM 的地址将依据 MY/MX/MV 设置的扫描方向进行自增。
6、0X2E(读 GRAM 指令)用于读取 ILI9341 的显存(GRAM)。指令形容:

ILI9341 在收到该指令后,第一次输入的是 dummy 数据,也就是有效的数据,第二次开始,读取到的才是无效的 GRAM 数据(从坐标:SC,SP 开始),输入法则为:每个色彩重量占 8 个位,一次输入 2 个色彩重量。比方:第一次输入是 R1G1,随后的输入法则为:B1R2→G2B2→R3G3。。。

退出移动版