【立创·梁山派GD32F4】-1.69寸彩屏模块移植过程

[复制链接]

10

主题

10

帖子

71

积分

一粒轻沙

Rank: 1

积分
71
楼主
查看: 2810回复: 0 发表于 2023-8-29 09:35:22   只看该作者
本帖最后由 立创开发板 于 2023-8-29 09:37 编辑

详情请跳转:https://lceda001.feishu.cn/wiki/JNvYwEU5SiGldFkNcxncYXhZnZc

模块来源



采购链接:
https://item.taobao.com/item.htm?id=636002776097&_u=n1q56pn3e33f
资料下载链接:
https://pan.baidu.com/s/1Q4s3fk0uy8AP5aqNZ3fBmg
资料提取码:8888



规格参数

工作电压:3.3V
工作电流:90MA
模块尺寸:31(H) x 48(V) MM
像素大小:240(H) x 280(V)RGB
驱动芯片:ST7789V2
通信协议:SPI
管脚数量:8 Pin(2.54mm间距排针)

移植过程






我们的目标是将例程移植至梁山派GD32F470上。按照以下步骤,即可完成移植。
  • 将源码导入工程;
  • 根据编译报错处进行粗改;
  • 修改引脚配置;
  • 修改时序配置;
  • 移植验证

查看资料

打开厂家资料例程(例程下载见文件1.4.3.1 例程下载)。具体路径见 图4.3.1 例程路径

图1.4.3.1 例程路径

移植至工程

引脚选择

该屏幕需要设置8个接口,具体接口说明见 表1.4.3.1 各引脚说明。
接口
说明



GND
电源地
VCC
电源正(3.3V)
SCL
串行信号时钟输入
SDA
串行信号数据输入
RES
复位信号输入(低电平有效)
DC
数据/命令控制(引脚拉高为数据,引脚拉低为命令)
CS
片选输入(只有CS拉低时,芯片才能使能MCU通信)
BLK
背光控制(默认打开背光,引脚拉低为关闭背光)
表1.4.3.1 各引脚说明

模块为SPI通信协议的从机,SCL为SPI信号线(SCK),SDA为SPI输出线(MOSI),CS为SPI片选线(NSS)。
如果MCU的GPIO引脚不足,可以将屏幕的两个引脚接口不接入MCU的GPIO。
  • 将RES接入MCU的复位引脚,当MCU复位时,屏幕也跟着复位;
  • 可以将BLK接入3.3V或悬空,代价是无法控制背光亮度。
下面分为软件SPI移植与硬件SPI移植进行讲解。


软件SPI移植
屏幕
开发板

GND
GND
VCC
3.3V
SCL
PB13
SDA
PB15
RES
PD0
DC
PC6
CS
PB12
BLK
PC7







硬件SPI移植

移植验证
在main.c中输入代码如下

  1. #include "gd32f4xx.h"
  2. #include "systick.h"
  3. #include "lcd_init.h"
  4. #include "lcd.h"

  5. int main(void)
  6. {
  7.     float t = 0;
  8.     nvic_priority_group_set(NVIC_PRIGROUP_PRE2_SUB2);  // 优先级分组
  9.     systick_config();//滴答定时器初始化 1ms

  10.     LCD_Init();//屏幕初始化
  11.     LCD_Fill(0,0,LCD_W,LCD_H,BLACK);//清全屏为黑色
  12.    
  13.     while(1)
  14.     {            
  15.                 LCD_ShowString(0,16*2,"LCD_W:",WHITE,BLACK,16,0);
  16.                 LCD_ShowIntNum(48,16*2,LCD_W,3,WHITE,BLACK,16);
  17.                 LCD_ShowString(80,16*2,"LCD_H:",WHITE,BLACK,16,0);
  18.                 LCD_ShowIntNum(128,16*2,LCD_H,3,WHITE,BLACK,16);
  19.                
  20.                 LCD_ShowString(0,16*3,"Nun:",WHITE,BLACK,16,0);
  21.                 LCD_ShowFloatNum1(8*4,16*3,t,4,WHITE,BLACK,16);
  22.                 t+=0.11;

  23.                 delay_1ms(1000);        
  24.     }
  25. }
复制代码





















快速回复 返回顶部 返回列表