STM32F4 开发指南(库函数版)
ALIENTEK 探索者 STM32F407 开发板教程
表 18.1.1.6 0X2C 指令描述
从上表可知,在收到指令 0X2C 之后,数据有效位宽变为 16 位,我们可以连续写入 LCD
GRAM 值,而 GRAM 的地址将根据 MY/MX/MV 设置的扫描方向进行自增。例如:假设设置
的是从左到右,从上到下的扫描方式,那么设置好起始坐标(通过 SC,SP 设置)后,每写入
一个颜色值,GRAM 地址将会自动自增 1(SC++),如果碰到 EC,则回到 SC,同时 SP++,一
直到坐标:EC,EP 结束,其间无需再次设置的坐标,从而大大提高写入速度。
最后,来看看指令:0X2E,该指令是读 GRAM 指令,用于读取 ILI9341 的显存(GRAM),
该指令在 ILI9341 的数据手册上面的描述是有误的,真实的输出情况如表 18.1.1.7 所示:
表 18.1.1.7 0X2E 指令描述
该指令用于读取 GRAM,如表 18.1.1.7 所示,ILI9341 在收到该指令后,第一次输出的是
dummy 数据,也就是无效的数据,第二次开始,读取到的才是有效的 GRAM 数据(从坐标:
SC,SP 开始),输出规律为:每个颜色分量占 8 个位,一次输出 2 个颜色分量。比如:第一次
输出是 R1G1,随后的规律为:B1R2G2B2R3G3B3R4G4B4R5G5... 以此类推。如果
我们只需要读取一个点的颜色值,那么只需要接收到参数 3 即可,如果要连续读取(利用 GRAM
地址自增,方法同上),那么就按照上述规律去接收颜色数据。
以上,就是操作 ILI9341 常用的几个指令,通过这几个指令,我们便可以很好的控制 ILI9341
显示我们所要显示的内容了。
一般 TFTLCD 模块的使用流程如图 18.1.1.5: