本文讲解如何配置LTDC驱动LCD的参数配置,以及CubeMx参数配置说明
本文使用的是淘宝买的一块带电容触摸的液晶显示屏:5寸TFT液晶显示屏高清800*480免驱40P通用RGBIPS全视角彩屏GT911
说实话,价格还是相对挺便宜的,值得入手,哈哈哈
这款屏幕采用的是RGB888格式
这里面也就是常用的引脚:
R0-R7、G0-G7、B0-B7
DCLK--时钟线
HSYNC\VSYNC--同步线
DE--数据使能
DISP是显示使能,控制屏幕的哈
背光是通过控制LED+\LED-的电流实现的
由此可以找到,LED需要流过20mA电流,下面是它的推荐电路
接着我就绘制了我的PCB,如下所示:我的是电容触摸屏,所以电阻触摸引脚位置悬空的
接下来,我们就来CubeMx配置LTDC驱动它吧
CubeMx配置LTDC
硬件相关参数设置
注意:这里的HSYNC、VSYNC、DE的有效极性需要和实际相反
由此图可以看出HSYNC、VSYNC、DE的有效极性都是高,clk的下降沿采样
上面我的LTDC配置取得都是典型值
Pulse Width对应的是HSW和VSW
引脚需要全部高速
然后就还有LTDC输出给LCD的时钟信号,由上面的数据手册给出的典型值配置25MHz,LTDC会由LTDC_PCLK引脚输出给LCD
到此,LTDC硬件相关的参数配置完毕
LTDC图像层配置
开启全局中断,并且优先级可以设置低点
DMA2D在代码里重新配置过得,可以按此设置
关于FMC的SDRAM存储属性设置可以参考如下:
调试
如何判定硬件问题:
在函数void MX_LTDC_Init(void)中的HAL_LTDC_Init()后如下处理:
如果LCD能显示红色说明硬件正常,否则有问题
lcd_base_backlight_set是开启屏幕背光
完整工程下载:
链接:https://pan.baidu.com/s/1g_VezTfR_-fgqSpPFlvtqQ
提取码:qqio