21.1 stm32使用LTDC驱动LCD--配置说明

本文讲解如何配置LTDC驱动LCD的参数配置,以及CubeMx参数配置说明
本文使用的是淘宝买的一块带电容触摸的液晶显示屏:5寸TFT液晶显示屏高清800*480免驱40P通用RGBIPS全视角彩屏GT911
说实话,价格还是相对挺便宜的,值得入手,哈哈哈
21.1 stm32使用LTDC驱动LCD--配置说明_第1张图片
21.1 stm32使用LTDC驱动LCD--配置说明_第2张图片
21.1 stm32使用LTDC驱动LCD--配置说明_第3张图片
这款屏幕采用的是RGB888格式
这里面也就是常用的引脚:
R0-R7、G0-G7、B0-B7
DCLK–时钟线
HSYNC\VSYNC–同步线
DE–数据使能

DISP是显示使能,控制屏幕的哈
背光是通过控制LED+\LED-的电流实现的
21.1 stm32使用LTDC驱动LCD--配置说明_第4张图片
21.1 stm32使用LTDC驱动LCD--配置说明_第5张图片
由此可以找到,LED需要流过20mA电流,下面是它的推荐电路
21.1 stm32使用LTDC驱动LCD--配置说明_第6张图片
接着我就绘制了我的PCB,如下所示:我的是电容触摸屏,所以电阻触摸引脚位置悬空的
21.1 stm32使用LTDC驱动LCD--配置说明_第7张图片
21.1 stm32使用LTDC驱动LCD--配置说明_第8张图片
接下来,我们就来CubeMx配置LTDC驱动它吧

CubeMx配置LTDC

硬件相关参数设置

21.1 stm32使用LTDC驱动LCD--配置说明_第9张图片
注意:这里的HSYNC、VSYNC、DE的有效极性需要和实际相反
21.1 stm32使用LTDC驱动LCD--配置说明_第10张图片
由此图可以看出HSYNC、VSYNC、DE的有效极性都是高,clk的下降沿采样
21.1 stm32使用LTDC驱动LCD--配置说明_第11张图片
上面我的LTDC配置取得都是典型值
Pulse Width对应的是HSW和VSW

引脚需要全部高速
21.1 stm32使用LTDC驱动LCD--配置说明_第12张图片
然后就还有LTDC输出给LCD的时钟信号,由上面的数据手册给出的典型值配置25MHz,LTDC会由LTDC_PCLK引脚输出给LCD
21.1 stm32使用LTDC驱动LCD--配置说明_第13张图片
21.1 stm32使用LTDC驱动LCD--配置说明_第14张图片
到此,LTDC硬件相关的参数配置完毕

LTDC图像层配置

21.1 stm32使用LTDC驱动LCD--配置说明_第15张图片
开启全局中断,并且优先级可以设置低点
21.1 stm32使用LTDC驱动LCD--配置说明_第16张图片
DMA2D在代码里重新配置过得,可以按此设置
21.1 stm32使用LTDC驱动LCD--配置说明_第17张图片
关于FMC的SDRAM存储属性设置可以参考如下:
21.1 stm32使用LTDC驱动LCD--配置说明_第18张图片
在这里插入图片描述

调试

如何判定硬件问题:
在函数void MX_LTDC_Init(void)中的HAL_LTDC_Init()后如下处理:
21.1 stm32使用LTDC驱动LCD--配置说明_第19张图片
如果LCD能显示红色说明硬件正常,否则有问题
lcd_base_backlight_set是开启屏幕背光

完整工程下载:

链接:https://pan.baidu.com/s/1g_VezTfR_-fgqSpPFlvtqQ
提取码:qqio

你可能感兴趣的:(STM32,stm32,单片机,fpga开发)