STM32F429 如何使用LCD

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ZenNaiHeQiao/article/details/88170374

(1)硬件接口
①要明白RGB888控制LCD 和8080控制方式的区别:

TFT液晶显示器使用的是RGB接口,RGB接口包含24根RGB信号线、像素同步信号线、水平同步信号线、垂直同步信号线和数据使能信号线。
性能一般的芯片,通常不会自带液晶控制器,需要使用自带液晶控制器器的液晶屏,这类触摸屏通常使用ILI9341型号的液晶控制芯片。
STM32可以 通过 8080 接口发送命令编码控制 ILI9341 的工作方式,例如复位指令、设置光标指令、睡眠模式指令等等,具体的指令在ILI9341数据手册均有详细说明

②RGB:https://blog.csdn.net/ctthuangcheng/article/details/8551559
RGB565 就是R-5bit,G-6bit,B-5bit
RGB555 就是R-5bit,G-5bit,B-5bit
RGB888 就是R-8bit,G-8bit,B-8bit ;其实这就是RGB24

也就是说正常情况下 STM32 F103 或者F 407 都是通过FSMC 来模拟8080控制方式操作ILI9341.
然后ILI9341通过RGB8888控制LCD。
但是STM32F429 自带了RGB LCD 外设接口 LTDC,为其直接控制LCD提供了方便。(理论上可以)
(本人使用的方案是STM32F429 使用LTDC接口 控制ILI9806<DPI 模式> 间接控制 LCD)

(2)STM32F429 自带了RGB LCD 外设接口
特点:LTDC 可以来直接驱动 RGBLCD 使用,另外其配备了专用的图像处理的 DMA2DMA 硬件加速。
参考资料:安富来V6开发板。
http://forum.armfly.com/forum.php?mod=viewthread&tid=32761&highlight=STM32F429%2BLCD
使用CubeMX 生产引脚配置。
在这里插入图片描述
LTDC 接口需要
在这里插入图片描述
在这里插入图片描述
参考:http://www.eeworld.com.cn/mcu/article_2018060339551.html

(3)STM32F429 也可以使用常规接口FSMC 控制LCD

参看资料:硬石开发板提供的教程
原理:我们使用FSMC来控制 LCD,将TFTLCD 当作SRAM来控制。
那我们如何通过FSMC来控制我们的LCD呢?
FSMC控制Nor Flash 接口
可以看出前4中线完全一样,仅在8080的数据和命令选择时候和FSMC的有区别,此时为了模拟将FSMC的地址A0,接在8080的RS,当A0为0 TFTLCD 就是写指令,A0为1 写数据。
举个例子,当向地址为 0x6xxx xxx1、0x6xxx xxx3 的奇数地址写入数据时,地址线 A0(RS)为高电平,这个数据被理解为
数值;若向 0x6xxx xxx0、0x6xxx xxx2 这些偶数地址写入数据时,地址线 A0(RS)为低电平,这个数据被理解为命令。这样,就可以区分开数据和命令了。

其他资料:
在使用ILI9806G 时候需要使用SPI对该芯片初始化一下。
驱动程序:https://github.com/qiaojianyu/STM32F429_Driver/tree/master/ILI9806G

猜你喜欢

转载自blog.csdn.net/ZenNaiHeQiao/article/details/88170374