STM32F407VET6开发板移植基于HAL库的正点原子LCD屏幕驱动
2025-10-22 来源:bilibili
up的开发板长这个样子:

比较便宜XD
屏幕的话是2.8寸带触摸的TFT LCD屏幕,驱动是ILI9341。
首先,在CubeMX中创建初始化配置文件需要配置的选项如下图,
(LED0,LED1与Key1,2,3,4与LCD驱动无关):

需要对RCC,SYS的固定配置以及时钟树的改动此处不作介绍。可看最后的参考文章链接。
首先配置LCD_BL,即背光控制相关的GPIO。管脚脚位选择需要看开发板的原理图。我的原理图是这样的:

可以看到需要将PB1配置为LCD_BL。
具体配置如下图:

之后配置FSMC:

此处LCD Register Select信号也需要看你的开发板原理图。我的是这样的:

可以看到选择了FSMC_A18作为信号线。
FSMC具体配置如下:

最后检查一下配置:点击Pinout->Pins/Signals Options。

略去无关的引脚配置,检查一下是否相符。生成IDE项目即可。
之后打开正点原子的HAL库LCD驱动文件夹,可以看到四个相关文件(GB2312编码,请自行处理中文注释乱码问题)。

将它们复制到刚才创建的IDE项目中,up的项目结构是这样的:

在Demo LCDDriversBSP下的Inc文件夹内放置.h文件,Src文件夹内放置.c文件。
记得将Inc文件夹添加到编译路径中:

在该界面中点击右侧Source Location,双击下面的Drivers文件夹,将刚刚粘贴的驱动文件中的lcd_ex.c添加到Filter中。(该文件不参与编译)

记得退出来以后要点Apply。
下面是驱动文件的具体修改过程:
首先是lcd.c的Include部分,修改为:

lcd.h的Include:

修改完后需要将四个文件中所有的delay_ms()函数替换为HAL_Delay(),使用delay_us()的将其替换为HAL_Delay(1)。
之后将lcd.c文件中的void HAL_SRAM_MspInit(SRAM_HandleTypeDef *hsram)
函数整体注释掉,在创建项目时已经配置好了FSMC。
接下来将该函数下面的函数LCD_Init()中关于GPIO和FSMC的相关配置删掉,删除后的效果是这样的:

在该函数中有一处printf函数,printf('LCD ID:%xrn', lcddev.id); /* 打印LCD ID */
把它注释掉。
之后就是最重要的脚位对应的修改:
将lcd.h文件中开始的宏定义做对应的修改:
将背光脚BL改为对应的脚位,我的是PB1。

接下来修改NEX和AX对应的管脚。我的开发板配置是PD13 ------> FSMC_A18;PD7 ------> FSMC_NE1,所以所处如下图的改动。

至于其余数据脚位f407vet6和f407zgt6是相同的,暂不需要更改。
最后就是编写main.c函数了
在该文件中include一下:#include 'lcd.h'
添加测试函数如下
/* USER CODE BEGIN 2 */
lcd_init(); lcd_show_string(10, 110, 240, 16, 16, 'ATOM@ALIENTEK', RED); /* USER CODE END 2 */
编译烧录后即可得到结果。


github 链接: https://github.com/Hammerift/stm32f407vet-with-LCD.git
- STM32F407VET6之IAR之ewarm7.80.4工程建立(基于官方固件库1.6版本) 的工程文件目录
- STM32F407VET6之IAR之ewarm7.80.4工程建立(基于官方固件库1.6版本)
- STM32F407vet6使用FSMC驱动LCD屏
- 如何移植EtherCAT Igh--基于米尔RK3576开发板
- iTOP-4412开发板-Android4.4-Bluetooth移植文档
- mplayer移植-迅为IMX6Q开发板
- 移植5.4内核到迅为I.MX6ULL开发板
- iTOP-4412开发板-mqtt移植教程(一)
- iTOP-4412开发板-mqtt移植教程(二)
- 迅为imx6ull开发板移植Debian文件系统
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 蓝牙信道探测技术原理与开发套件实践
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析




