【TFT彩屏移植】STM32F4移植1.8寸TFT彩屏简明教程(二)

简介: 【TFT彩屏移植】STM32F4移植1.8寸TFT彩屏简明教程(二)

2.移植至F4

创建工程:

       笔者选择使用CubeMX创建工程,Hal库开发:

       调试接口选择SW:


 RCC中HSE选择外部晶振:

       GPIO配置不变:

       时钟树暂时仍固定72MHz:

然后生成工程即可。

导入文件:

在工程文件夹中创建一个LCD文件夹复制例程文件至此:

头文件路径添加LCD文件夹:

修改文件:

前置:

向所有.h文件(用了u8,u16,u32的)中添加以下定义:

#ifndef u8

#define u8 uint8_t

#endif

 

#ifndef u16

#define u16 uint16_t

#endif

 

#ifndef u32

#define u32 uint32_t

#endif

!Lcd_Driver.h文件!

这个文件很重要。

添加#include "stdint.h"头文件,并

将以上宏定义都改为:

1.//液晶控制口置1操作语句宏定义
 
#define LCD_SCL_SET   LCD_CTRLA->BSRR=LCD_SCL     
#define LCD_SDA_SET   LCD_CTRLA->BSRR=LCD_SDA    
#define LCD_CS_SET    LCD_CTRLA->BSRR=LCD_CS 
    
#define LCD_LED_SET   LCD_CTRLB->BSRR=LCD_LED   
#define LCD_RS_SET    LCD_CTRLB->BSRR=LCD_RS 
#define LCD_RST_SET   LCD_CTRLB->BSRR=LCD_RST
//液晶控制口置0操作语句宏定义
 
#define LCD_SCL_CLR   LCD_CTRLA->BSRR = (uint32_t)LCD_SCL << 16U  
#define LCD_SDA_CLR   LCD_CTRLA->BSRR = (uint32_t)LCD_SDA << 16U   
#define LCD_CS_CLR    LCD_CTRLA->BSRR = (uint32_t)LCD_CS << 16U  
                        
#define LCD_LED_CLR   LCD_CTRLB->BSRR = (uint32_t)LCD_LED << 16U    
#define LCD_RST_CLR   LCD_CTRLB->BSRR = (uint32_t)LCD_RST << 16U    
#define LCD_RS_CLR    LCD_CTRLB->BSRR = (uint32_t)LCD_RS << 16U

至于原因在这里不过多赘述,详情参考:【总结】单片机重点知识总结记录(存储管理+STM32滴答定时器)-CSDN博客


Lcd_Driver.c文件

中添加F4的头文件,去掉delay.h;初始化函数可以全部注释掉(因为我们已经在CubeMX中配置过相应的GPIO了);同时把文件中所有delay_ms()改成相应的HAL_Delay():



GUI.h文件

添加#include "stdint.h"

GUI.h文件

添加#include "stdint.h"

GUI.c文件

添加F4头文件,并替换延时函数为HAL_Delay():

GUITFT_demo.c文件

添加头文件,并修改延时函数,同时所有的测试字符串使用强制转换为指针类型,如下:

向主函数中添加驱动文件

三.测试

在主函数中添加demo函数测试:

1. while (1)
2.   {
3.    QDTFT_Test_Demo();
4. 
5. /* USER CODE END WHILE */
6. 
7. /* USER CODE BEGIN 3 */
8.   }

编译下载:

!!!成功!!!



相关文章
|
7月前
|
IDE 编译器 开发工具
【STM32 LVGL基础教程】初识LVGL
【STM32 LVGL基础教程】初识LVGL
620 0
|
2月前
|
存储 芯片
【TFT彩屏移植】STM32F4移植1.8寸TFT彩屏简明教程(一)
【TFT彩屏移植】STM32F4移植1.8寸TFT彩屏简明教程(一·)
119 0
|
7月前
|
消息中间件 Web App开发 API
FreeRTOS介绍 和 将FreeRTOS移植到STM32F103C8T6
FreeRTOS介绍 和 将FreeRTOS移植到STM32F103C8T6
FreeRTOS介绍 和 将FreeRTOS移植到STM32F103C8T6
|
4月前
|
传感器
手把手在STM32F103C8T6上构建可扩展可移植的DHT11驱动
【8月更文挑战第29天】本文详细介绍在STM32F103C8T6上构建可扩展且可移植的DHT11温湿度传感器驱动的步骤,包括硬件与软件准备、硬件连接、驱动代码编写及测试。通过这些步骤,可根据实际项目需求优化和扩展代码。
133 0
|
5月前
|
数据安全/隐私保护
STM32CubeMX U8g2移植
STM32CubeMX U8g2移植
112 12
|
7月前
|
C语言
【STM32 CubeMX】移植u8g2(一次成功)
【STM32 CubeMX】移植u8g2(一次成功)
687 0
STM32CubeIDE移植ARM DSP库
STM32CubeIDE移植ARM DSP库
|
7月前
|
传感器 数据采集 监控
毕业设计 基于STM32单片机生理监控心率脉搏TFT彩屏波形曲线设计
毕业设计 基于STM32单片机生理监控心率脉搏TFT彩屏波形曲线设计
105 0
|
6月前
使用STM32F103标准库实现定时器控制LED点亮和关闭
通过这篇博客,我们学习了如何使用STM32F103标准库,通过定时器来控制LED的点亮和关闭。我们配置了定时器中断,并在中断处理函数中实现了LED状态的切换。这是一个基础且实用的例子,适合初学者了解STM32定时器和中断的使用。 希望这篇博客对你有所帮助。如果有任何问题或建议,欢迎在评论区留言。
459 2
|
5月前
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
742 0