本章开始进行N9H30彩屏驱动的调试工作,因为涉及的篇幅太多了,我这边分成四个步骤讲解。
N9H30 RGB彩屏软件调试(一):主要讲解SPI 初始化部分
N9H30 RGB彩屏软件调试(二):主要讲解N9H30 初始化部分
N9H30 RGB彩屏软件调试(三):主要讲解N9H30 emwin移植
N9H30 RGB彩屏软件调试(四):主要讲解N9H30显示图片
LCD_SPI初始化,就是对屏幕初始化,这里不一定是SPI,有些屏幕是I2C的初始化,目前新唐针对这部分的初始化已经做好了很多参考设计,如下图,我这边采用模拟SPI来初始化LCD,参考GIANTPLUS_GPM1006来修改初始化代码。
一、SPI管脚进行定义
//PB12
#define SPI_CS_SET() GPIO_OpenBit(GPIOB, BIT12, DIR_OUTPUT, PULL_UP)
#define SPI_CS_HIGH GPIO_SetBit(GPIOB,BIT12)
#define SPI_CS_LOW GPIO_ClrBit(GPIOB, BIT12)
//PB15
#define SPI_SDA_SET() GPIO_OpenBit(GPIOB, BIT15, DIR_OUTPUT, PULL_UP)
#define SPI_SDA_HIGH GPIO_SetBit(GPIOB,BIT15)
#define SPI_SDA_LOW GPIO_ClrBit(GPIOB, BIT15)
//PB13
#define SPI_CLK_SET() GPIO_OpenBit(GPIOB, BIT13, DIR_OUTPUT, PULL_UP)
#define SPI_CLK_HIGH GPIO_SetBit(GPIOB,BIT13)
#define SPI_CLK_LOW GPIO_ClrBit(GPIOB, BIT13)
//PG10
#define SPI_RES_SET() GPIO_OpenBit(GPIOG, BIT10, DIR_OUTPUT, PULL_UP)
#define SPI_RES_HIGH GPIO_SetBit(GPIOG,BIT10)
#define SPI_RES_LOW GPIO_ClrBit(GPIOG,BIT10)
//PB14
#define SPI_DOUT_SET() GPIO_OpenBit(GPIOB, BIT14, DIR_INPUT, NO_PULL_UP)
#define SPI_DOUT_HIGH GPIO_SetBit(GPIOB,BIT14)
#define SPI_DOUT_LOW GPIO_ClrBit(GPIOG,BIT14)
//PJ2
#define BACK_LIGHT_SET() GPIO_OpenBit(GPIOJ, BIT2, DIR_OUTPUT, NO_PULL_UP)
#define BACK_LIGHT_HIGH GPIO_SetBit(GPIOJ,BIT2)
#define BACK_LIGHT_LOW GPIO_ClrBit(GPIOJ,BIT2)
2、模拟SPI函数封装
//SPI 发送移位数据
// SPI 写命令
// SPI 写数据
3、SPI初始化LCD
操作完上面三个步骤,SPI初始化LCD部分完成,下一个篇章开始初始化N9H30_LCD参数。