详情请跳转: 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中输入代码如下
```C
#include "gd32f4xx.h"
#include "systick.h"
#include "lcd_init.h"
#include "lcd.h"
int main(void)
{
float t = 0;
nvic_priority_group_set(NVIC_PRIGROUP_PRE2_SUB2);
systick_config();
LCD_Init();
LCD_Fill(0,0,LCD_W,LCD_H,BLACK);
while(1)
{
LCD_ShowString(0,16*2,"LCD_W:",WHITE,BLACK,16,0);
LCD_ShowIntNum(48,16*2,LCD_W,3,WHITE,BLACK,16);
LCD_ShowString(80,16*2,"LCD_H:",WHITE,BLACK,16,0);
LCD_ShowIntNum(128,16*2,LCD_H,3,WHITE,BLACK,16);
LCD_ShowString(0,16*3,"Nun:",WHITE,BLACK,16,0);
LCD_ShowFloatNum1(8*4,16*3,t,4,WHITE,BLACK,16);
t+=0.11;
delay_1ms(1000);
}
}