背景
有项目使用TFT-LCD屏幕,这里就整理一下资料记录一下使用STM32驱动TFT-LCD的过程。
硬件设计
LCD屏幕
原理图,其中红框标记的是LCD的外部接口,整理把所有的外部接口都连接出来了。
该屏幕的驱动芯片为ST7735S,ST7735S是一块1.8英寸采用SPI通信的TFT全彩屏,分辨率是128*160,这里采用RGB565 16bit的色块编译模式(RGB565即高五位为Red,第五位为Blue,中间六位为Green,共16位)。
ST7735S支持多种驱动接口方式,如8080、6800、四线或者三线串行协议。根据硬件管教配置的不同,选择不同的接口方式,对应的时序就确定了。
这个屏幕是我们网上买的,看不出来他的这些管教的配置,从他提供的代码上看使用的三线SPI模式。具体时序如下图所示,这里可惜没法使用8080的并行接口,可以更快的刷新屏幕。
这里采用STM32开发板用杜邦线连接LCD屏幕,实际的管脚连接如下图所示,就不要看实物了,太乱了,不能贴出来。
软件设计
针对STM32的软件开发,都逐渐转向ST新推出的开发工具STM32CubeIDE,我也使用了一段时间,这个工具开发stm32确实高效,功能上集成了原来stm32cube和keil的功能,用起来还是快捷方便,体现了ST国际一流厂商的技术实力。
首先我使用的软件版本号如下:
对IO进行配置,这使用外部时钟,配置外部时钟,使用SW调试方式,打开对应配置。
Main函数中
添加延时初始化函数
/* USER CODE BEGIN 2 */
delay_init(72);
/* USER CODE END 2 */
添加LCD测试代码
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
QDTFT_Test_Demo();
}
/* USER CODE END 3 */
代码架构,将相关LCD代码移植过来
调试
由于这里使用杜邦线连接,很容易就接触不良,调试过程中要确认接线正确。
本文使用资源,含代码,手册等
详细讲解STM32CubeIDE一步一步驱动LCD,原理图,代码,调试过程,提供驱动芯片为ST7735S资源-CSDN文库