屏幕选择了 3.5寸16位并口屏,分辨率480*320。这种小显示模块经不起折腾,做做演示还行,要日常经常用的话,很快就磨损坏了,所以计划在上面覆盖亚克力板,只用按钮进行操作。
屏幕厂商一般会提供配套示例程序。但一般提供的是基于STM32或者51的,所以移植到W801要做些许修改。下载DEMO程序,把几个主要文件弄到项目中。我看过不少DEMO程序,基本都是从一套代码中衍生出来,大同小异,几个关键的文件都有。只要关注init函数中初始化要与相应的LCD驱动对应上就行。我这里是ili9488的。
根据lcd.h文件定义连接屏幕
//-----------------LCD端口定义----------------
#define LCD_LED PAout(5) //LCD背光 PA5
#define LCD_CS_SET GPIOA->BSRR=1<<0 //片选端口 PA0
#define LCD_RS_SET GPIOA->BSRR=1<<1 //数据/命令 PA1
#define LCD_WR_SET GPIOA->BSRR=1<<2 //写数据 PA2
#define LCD_RD_SET GPIOA->BSRR=1<<3 //读数据 PA3
#define LCD_RST_SET GPIOA->BSRR=1<<4 //复位 PA4
#define LCD_CS_CLR GPIOA->BRR=1<<0 //片选端口 PA0
#define LCD_RS_CLR GPIOA->BRR=1<<1 //数据/命令 PA1
#define LCD_WR_CLR GPIOA->BRR=1<<2 //写数据 PA2
#define LCD_RD_CLR GPIOA->BRR=1<<3 //读数据 PA3
#define LCD_RST_CLR GPIOA->BRR=1<<4 //复位 PA4
#define LCD_DATA_OUT() {GPIOB->CRH=0X33333