模块来源
采购链接:
黄保凯中景园1.9寸LCD显示屏高清ips显示屏170x320 st7789驱动
资料下载链接:
https://pan.baidu.com/s/1ArmQST7I84UYY7n0aJdEBw
资料提取码:8888
规格参数
工作电压:3.3V
工作电流:50MA
模块尺寸:29(H) x 62(V)MM
像素大小:170(H) x 320(V) RGB
驱动芯片:ST7789V3
通信协议:SPI
管脚数量:8 Pin(2.54mm间距排针)
以上信息见厂家资料文件1.2.2.1 屏幕规格书
移植过程
我们的目标是将例程移植至梁山派GD32F470上。按照以下步骤,即可完成移植。
将源码导入工程;
根据编译报错处进行粗改;
修改引脚配置;
修改时序配置;
查看资料
移植至工程
引脚选择
软件SPI移植
当前厂家源码使用的是软件SPI接口,SPI时序部分厂家已经完成,我们只需要将引脚和延时配置好即可。所以对应接入的屏幕引脚请按照你的需要。这里选择的引脚见表1.2.3.3.1 软件SPI接线
| 屏幕 | 开发板 | |
表1.2.3.3.1 软件SPI接线
选择好引脚后,进入工程开始编写屏幕引脚初始化代码。
为了方便后续移植,我在lcd_init.h处宏定义了每一个引脚,后续根据需要进行修改即可
硬件SPI移植
移植验证
在main.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);
}
}