
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、后续应用与展望
- 结合界面设计原则,开发简易的人机交互界面和图形界面,提升显示效果与用户体验。
- 未来将分享更多有趣的显示应用案例和界面设计思路,持续关注即可。
如果本内容对你有帮助,欢迎点赞、关注与收藏。
