在日常开发中,显示屏是常用部件之一,显示屏

作者:HJC黄金城集团  日期:2025-12-19  浏览:  来源:HJC黄金城集团官网

在日常开发中,显示屏是常用部件之一,显示屏的种类繁多,但开发者关注的核心是驱动芯片。本次面向 STM32 HAL 库,聚焦在驱动 ST7789 的 320×240 TFT-LCD 上,演示如何通过 SPI 方式驱动该类 LCD。内容覆盖 CubeMX 配置硬件 SPI、以及实现 320×240 分辨率 LCD 的驱动流程,适用于自研的 STM32F103C8T6 平台,配合 ST7789 驱动芯片的显示屏。

1、时钟与硬件准备

- 时钟配置:若板子未预留外部晶振,采用内部 RC 振荡器,工作上限约 64MHz;若使用外部晶振,时钟可达到 72MHz 的上限。

- 开发环境与工具:CubeMX 进行硬件 SPI 配置,Keil5 作为开发环境进行代码编写与调试。

2、LCD 与 STM32 的硬件连接

- 选择 SPI1 作为驱动通道,结合显示屏的控制信号进行连接与配置。

- 常用信号:CS(片选,低有效)、DC(数据/命令选择)、RST(复位)、BL(背光,视需求控制)。

- 引脚初始化策略:CS、DC、RST 作为 GPIO 输出,初始状态可按需要设定(例如 CS 设为高电平,DC/RST 初始化为高电平或低电平)。

3、软件配置与工程搭建

- 在 CubeMX 中启用 SPI1,配置数据格式、时钟相位、极性等参数,确保与 ST7789 的通信要求匹配。

- 将 CS、DC、RST 等引脚配置为输出;并根据实际电路设定初始状态。

- 选择仿真器接口(SWD 或 JTAG),确保仿真与下载连接无误。

- 生成工程时,避免工程路径包含中文字符,提升兼容性。

4、LCD 驱动核心实现

- 引脚与结构:先定义 LCD 相关引脚(CS、RST、DC 等)及基本函数原型。

- 命令与数据传输:实现发送命令和发送数据的底层函数,确保在 SPI 传输时能正确区分命令与数据。

- 初始化序列:实现 ST7789 的初始化流程,包括软复位、接口设置、显示模式等参数配置。

- 分辨率与坐标设置:实现列起止和行起止的设置函数,为后续绘图提供坐标基础。

- 颜色定义与像素格式:采用 RGB565(16 位)格式,提供常用颜色的宏定义,便于上手调试。

- 清屏与填充:实现整屏清空、指定颜色填充等功能,作为基本验证手段。

5、绘图功能与测试

- 基本绘图:点绘、直线、矩形、圆等基础图形函数,为界面设计打基础。

- 字符显示与字体支持:实现简易字符显示,若需要更丰富的中文/英文字符可接入字体库HJC黄金城集团

- 测试用例:通过连续刷屏、绘制几何图形、展示文本等方式测试驱动正确性。

6、后续应用与展望

- 结合界面设计原则,开发简易的人机交互界面和图形界面,提升显示效果与用户体验。

- 未来将分享更多有趣的显示应用案例和界面设计思路,持续关注即可。

如果本内容对你有帮助,欢迎点赞、关注与收藏。

上一篇:一、定义

下一篇:二、橡胶生产的设备要点