使用STM32 HAL库 驱动ST7789 显示屏

本文介绍了如何使用STM32 HAL库驱动ST7789显示屏,通过STM32CubeMX生成配置代码,并移植官方例程以适配HAL库。在移植过程中,主要涉及SPI配置和引脚初始化的调整,以及延时函数的替换。最终成功驱动了高像素密度的IPS显示屏。
摘要由CSDN通过智能技术生成

使用STM32 HAL库 驱动ST7789 显示屏

这是驱动好的效果图,我买的是中景园电子的一块IPS显示屏, 它的像素密度很高,显示非常细腻。

今天我用stm32 HAL库来驱动它。

1474197-20190806205944488-994153263.png

使用STM32CubeMX生成代码

使用STM32CubeMX 生成功能, 其中主要设置了SPI和 驱动引脚

主要代码所示:

//引脚设置
#define LCD_D0_SCL_Pin GPIO_PIN_5
#define LCD_D0_SCL_GPIO_Port GPIOA
#define LCD_D1_SDA_Pin GPIO_PIN_7
#define LCD_D1_SDA_GPIO_Port GPIOA
#define LCD_RES_Pin GPIO_PIN_0
#define LCD_RES_GPIO_Port GPIOB
#define LCD_DC_Pin GPIO_PIN_1
#define LCD_DC_GPIO_Port GPIOB
#define LCD_CS_Pin GPIO_PIN_10
#define LCD_CS_GPIO_Port GPIOB
/* SPI1 init function */
static void MX_SPI1_Init(void)
{

  /* SPI1 parameter configuration*/
  hspi1.Instance = SPI1;
  hspi1.Init.Mode = SPI_MODE_MASTER;    //主机模式
  hspi1.Init.Direction = SPI_DIRECTION_2LINES;  //只使能发送,两线制,因为买到的模块只能设置, 不能读数据。
  hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
  hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;    //默认时钟位&#
  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值