本章開始進行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)