谷动谷力

 找回密码
 立即注册
查看: 785|回复: 0
打印 上一主题 下一主题
收起左侧

STM32应用笔记 | 使用ST7789LCD显示屏 SPI驱动移植

[复制链接]
跳转到指定楼层
楼主
发表于 2023-10-12 15:31:01 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
STM32H5应用笔记 | 搭建基于 KEIL 的开发环境 使用SPI接口驱动ST7789LCD显示屏
来源:EEWORLD论坛网友版权归原作者所有


搭建基于 KEIL 的开发环境
ARM 有很多开发工具,其官方就有好几种,ST公司也有推荐的开发工具,更有高级的图形化配置工具,使得ARM开发越来越简便。此次关于 STM32H5 的开发环境搭建,以拯救 C51 的开发同学们,放弃C51、拥抱ARM32为目的。因此没采用STM32CubeMX,而是采用同学们熟悉的 KEIL5(uVision5) 来搭建 STM32H563 开发板的开发环境。1、先下载集成开发软件安装包这里使用的是 5.0 以上的版本,如果是 4 或者低的版本需要升级,如果已经安装了uVision5 则可以跳过。访问 www.keil.com 网站,进入下图图示页面,下载KEIL 安装包(大约 900M)。
2、再登录 st.com下载 STM32H5 系列的板级支持包(约 33M)。
3、安装KEIL,根据安装提示,一步一步安装KEIL集成开发软件即可,基本不会出异常。安装过程很简单,本文不赘述。4、安装 STM32H563板级支持包,在KEIL安装完成后,首次启动 KEIL 会出一个提示,如下界面,即让选择开发的开发目标板,这里你可以选择一个或者多个进行安装。
因STM32H5 是新品,KEIL5 版本还未收录进去,上述列表里默认没有,需要手动添加。添加过程如下:1) 点击board 选项卡,按提示选择一个本地文件的板级支持包,这里选择上面第2步下载的STM32H5 系列的板级支持包。
2)会出提示,选择安装路径,建议安装到和 KEIL 相同的根目录下。
3)安装大概需要20分钟,从安装日志看部分内容仍然需要从网络下载,如果出现下载失败,则是连接国外网站不畅,建议使用科学上网即可解决问题。4)安装完成后,在 Device 选项卡里,会出现支持 STM32H5 系列的芯片型号,打开之后可以看到支持本开发板 STM32H563ZI 的开发板了。
5、创建新工程安装好KEIL和该开发板的板级支持包后,启动KEIL创建新工程。创建时,在设备/开发板选择界面,就可以选择 STM32H563 此款开发板了。
6、选择需要加入的HAL库根据开发目标,选择必要的HAL库,其中启动文件和Core是必选,其它根据需要勾选即可,这样即方便灵活的开放应用又能节约芯片空间,让开发者随意的定制软件驱动层,非常方便。
7、编译连接代码创建好工程之后,添加自己的 main.c 测试或应用代码,即可编译连接。
最后编译成功,生成了板上烧录的文件。到此,算是成功建立了开发板的开发编译环境。
使用SPI接口驱动ST7789LCD显示屏
基于前面搭建好的开发环境,开始对STM32H563开发板进行外设的应用开发。为了后续的的实验需要显示内容,这次实验首先进行LCD显示驱动的开发。这里使用的是 ST7789 芯片的 1.14 寸串口显示屏,使用 SPI 接口进行通讯。1、查看ST7789  LCD 显示屏的接口
它的分辨率是 135 x 240 , 需要连接 SCL , SDA,  RES,  DC , CS 几个信号线,以及电源和背光线。2、STM32H563 的SPI 接口STM32H563 SPI 接口电器特性如下图:
STMH563 接口接LCD时,设置为主模式,其时序如下图:
3、STM32H563 连接 ST7789硬件连接通过资料可以知道,STM32H563 有3组SPI接口,这里我们选择SP1 接口,使用以下引脚连接LCD。LCD模块        STM32H563单片机 BLK接PB2 //液晶屏背光控制信号,如果不需要控制,接3.3V,也可以通过IO控制亮灭SCK 接 PB3 //液晶屏SPI总线时钟信号
SDA 接 PB4 //液晶屏数据/命令控制信号
RES 接 PB9 //液晶屏复位控制信号
CS 接 PB10 //液晶屏片选控制信号
4、软件驱动移植开发ST 7789 串口屏提供了 STM32F103 的驱动例程,我们的目的就是将该驱动例程移植到 STM32H563。代码较长,请联系STM32客服获取(微信号:STM32_01)代码移植开发,主要修改就是把这段代码放到 STM32H563的SDK下,修改SPI的调用以及相关的系统初始化,需要注意的是,这个LCD它有一个初始的x,y 起始数据,其计算方法就是 x=(240-w)/2, y=(320-h)/2, 因此可得 x=0,y= 92, 这样才能正确显示出内容,否则出现花屏。开发修改中的代码工程如下:
5、编译运行经过修改,调试,烧写,最后成功的把ST7789移植到了 STM32H653 上。

+10
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-4-28 04:34 , Processed in 0.088499 second(s), 42 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表