这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 【STM32H755】使用Cortex-M4内核驱动ST7789LCD屏

共2条 1/1 1 跳转至

【STM32H755】使用Cortex-M4内核驱动ST7789LCD屏

工程师
2025-08-23 10:36:24     打赏
【软件环境】

1、STM32CubeMX

2、MDK5.41

【原理图】

LCD_PWR:PD15  //tim4_ch4

TIM4_CH4

LCD_RST:PG12

LCD_WR:

PE11 LCD_CS:

PD14 LCD_SCK  

PA5 LCD_SDA  PB5

软件配置

使用stcubeMX生成基于STM32H755的基础工程

![配置SPI的IO](D:\Typro\NUCLEO-H755\M4内核驱动ST7789\image\配置SPI的IO.png

  1. 开启Cortex-M4的SPI1,配置IO分配为MOSI-PB5,SCK为PA5

配置SPI的IO配置SPI的IO.png

2. 参数配置为8bit传输,MSB传输模式,CPOL为LOW,CPHA为1Edge,即模式为0,空闲时SCK为低电平,第一个时钟上升沿采样。关闭硬件CS。

配置SPI的传输参数配置SPI的传输参数.png

修改SPI的传输速度为Very High保证高速时总线能适配。

配置SPI的IO传输速度配置SPI的IO.png

3.配置CS、RST、DC的GPIO,并给予相应的标签,同时需要修改为IO上拉模式

SPICS_DC_RSTio配置SPICS_DC_RSTio配置.png

4. 背光配置,背光我采用pwm来配置,使用PD15(TIM4_CH4),开启TIM4,打开CH4为普通PWM输出,配置200分频,重载值为500,自动重载

背光配置背光配置.png

最后生成MDK工程

代码移植

使用MDK打开工程后,移植一个st7789基于其他LCD的工程文件。

  1. 将工程文件添加进MDK工程,使其加CM4工程编译。

  2. 将头文件添加进工程

  3. 修改spi发送的函数为hspi1

  4. 修改宏定义为对应的DC、CS、RST

#define LCD_RST(n) (n ? HAL_GPIO_WritePin(GPIOG, GPIO_PIN_12, GPIO_PIN_SET) : HAL_GPIO_WritePin(GPIOG, GPIO_PIN_12, GPIO_PIN_RESET))
#define LCD_WR(n) (n ? HAL_GPIO_WritePin(LCD_WR_GPIO_Port, LCD_WR_Pin, GPIO_PIN_SET) : HAL_GPIO_WritePin(LCD_WR_GPIO_Port, LCD_WR_Pin, GPIO_PIN_RESET))
#define LCD_CS(n) (n ? HAL_GPIO_WritePin(LCD_CS_GPIO_Port, LCD_CS_Pin, GPIO_PIN_SET) : HAL_GPIO_WritePin(LCD_CS_GPIO_Port, LCD_CS_Pin, GPIO_PIN_RESET))

#define LCD_PWR(n) (n ? __HAL_TIM_SetCompare(&htim4, TIM_CHANNEL_4, 500) : __HAL_TIM_SetCompare(&htim4, TIM_CHANNEL_4, 0))

5. 在main.c中添加定时序开启

  //开启TIM4,CHALL CH4 输出PWM
 HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_4);

6. 添加头lcd的头文件引用,初始化lcd,清屏后写入一段测试函数

  /* USER CODE BEGIN 2 */
BSP_LED_Init(LED1);
 //开启TIM4,CHALL CH4 输出PWM
 HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_4);

lcd_init();
lcd_clear(BLUE);
lcd_show_string(20, 20, 200,40,(uint8_t *) "STM32H755",32,1);
lcd_show_string(20, 80, 200,40, (uint8_t *)"ST7789LCD",32,1);
 /* USER CODE END 2 */


实验现象

ST7789测试图片.png





关键词: STM32H755     Cortex-M4     ST778    

专家
2025-08-23 12:08:27     打赏
2楼

感谢分享


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]