STM32驱动ST7789TFT 1.69寸屏幕模块详解
创作时间:
作者:
@小白创作中心
STM32驱动ST7789TFT 1.69寸屏幕模块详解
引用
1
来源
1.
https://mthdm.cc/?p=206
本文详细介绍了如何使用STM32 HAL库驱动ST7789芯片的1.69寸TFT屏幕模块。文章从硬件连接、软件配置到代码实现,提供了完整的步骤和示例代码,适合有一定嵌入式开发基础的工程师参考。
1.硬件介绍
本文使用的是基于ST7789驱动芯片的1.69寸TFT屏幕,分辨率为240*280,采用SPI通信方式,并支持背光调节。
本文以自制模块为例,原理图及模块实物图如下,除了额外的两个按键外,其他接口定义与标准模块保持一致。
2.部署使用
硬件环境
- 开发软件:STM32CubeMX + Keil v5
- 硬件平台:STM32F103RET6(基于Boring TECH V3.9开发板)
- LCD模块:自制的ST7789TFT 1.69寸屏幕模块
硬件连接
- NSS > PB0
- SCK > PA5
- MOSI > PA7
- BLK > PA1
- RST > PC5
- DC > PC4
第一部分:CubeMX配置
1.配置SPI
首先开启SPI接口,本文使用SPI1。由于LCD屏幕只需要接收SPI数据,因此将Mode设置为只发送主机模式。其他选项保持默认。
配置GPIO
需要配置的GPIO包括SPI的片选脚、LCD的复位端口和DC控制端口。将这些GPIO设置为推挽输出模式,并自定义用户标签:
- PB0 > LCD_CS
- PC4 > LCD_DC
- PC5 > LCD_RES
配置定时器
使用TIM2 CH2作为PWM输出口来调节屏幕亮度。将TIM2的Channel2设置为PWM模式,PWM频率设置为100Hz。
第二部分:Keil代码配置
1.代码移植
将lcd.c等5个文件移动到工程目录下(例如\user\module),并添加到工程中。在魔术棒C/C++中添加头文件路径。确保编译时没有错误。
2.1使用裸机(RTOS直接跳到下面的2.2)
在main.c中进行初始化:
LCD_Init(); //LCD初始化
HAL_Delay(100);
HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_2); //启动背光PWM
调用使用:
LCD_Fill(0,0,LCD_W, LCD_H,WHITE); //填充全屏白色
LCD_ShowPicture(0,100,204,132,gImage_xiaoba); //展示图片
LCD_ShowString(20, 60,(uint8_t *)"[Kazami_Dunmi]", BLUE, WHITE, 24, 0); //显示文字
2.2使用FreeRTOS
在main.c中进行初始化:
/* USER CODE BEGIN 2 */
LCD_Init(); //LCD初始化
HAL_Delay(100);
HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_2); //启动背光PWM
/* USER CODE END 2 */
在freertos.c的任务函数中调用:
void LcdTask(void const * argument)
{
/* USER CODE BEGIN LcdTask */
LCD_Fill(0,0,LCD_W, LCD_H,WHITE); //填充全屏白色
LCD_ShowPicture(0,100,204,132,gImage_xiaoba); //展示图片
LCD_ShowString(20, 60,(uint8_t *)"[Kazami_Dunmi]", BLUE, WHITE, 24, 0); //显示文字
for(;;)
{
osDelay(1);
}
/* USER CODE END LcdTask */
}
查看效果
编译下载程序后,如果看到小八的图案,说明驱动已经成功。
热门推荐
“只在电影里见过”!深圳启动直升机,12分钟极速营救!
一种紧压茶手工压制模具的制作方法
旋转音律:五个主要曲包隐藏曲解锁教程
数智赋能开启新篇章 “人工智能+”数智赋能公立医院高质量发展研讨会在京举行
幼儿园因病请假,怎么退费
Omega-3和Omega-6的区别与摄入建议
眼周皮肤问题怎么办?三招帮你轻松应对!
消除双下巴的有效方法与日常护理建议解析
想要提升iPad续航能力?这些省电操作你一定要学
剑与远征新手攻略:前期推图英雄推荐及阵容搭配详解
股骨头的奥秘:位置、压力与病变
这种维生素不能乱补!每天服用增死亡风险
芍药黄芩汤的功效与作用是什么
集运运价年内高波动 2025年市场不确定因素仍多|年终盘点
购房合同写包税但未写金额怎么办?法律专家解读
区块链如何确保数据不可篡改,在检测环节和数据形成的哈希码方面
文字转语音真人发声免费的软件有什么?盘点5个文字配音软件
床垫弹簧椰棕哪个好 弹簧椰棕床垫特点有什么?
俄罗斯人如何看待“老毛子”这个称呼?来华留学生的回答亮了!
交换机Private VLAN基本配置详解
马拉松赛后恶心呕吐怎么办?专业建议来了
成皋之战:刘邦如何以弱胜强,击败项羽?
房贷合同号网上查询:法律实务与操作指南
生命权的概念及其重要性
甲状腺结节突然变小了是怎么回事
服务器静音风扇调整方法有哪些?
服用氯雷他定后多久可以喝茶
《使命召唤:战区2》G3步枪改装指南:配件搭配与实战建议
修罗铠甲:铠甲勇士系列中的王者铠甲
为什么当梦女:这年头不靠点想象是蛮难活的