/************************************宏定义************************************/
#define TFT_RS_reset DL_GPIO_clearPins(GPIOA, DL_GPIO_PIN_12)
#define TFT_RS_set DL_GPIO_setPins(GPIOA, DL_GPIO_PIN_12)
#define TFT_RESET_reset DL_GPIO_clearPins(GPIOA, DL_GPIO_PIN_23)
#define TFT_RESET_set DL_GPIO_setPins(GPIOA, DL_GPIO_PIN_23)
#define TFT_BL_SET DL_GPIO_setPins(GPIOA, DL_GPIO_PIN_7)
#define TFT_BL_RESET DL_GPIO_clearPins(GPIOA, DL_GPIO_PIN_7)
#define SPI1_CS_OUT0 DL_GPIO_clearPins(GPIOA, DL_GPIO_PIN_3)
#define SPI1_CS_OUT1 DL_GPIO_setPins(GPIOA, DL_GPIO_PIN_3)
void delay_us(uint32_t Data)
{
delay_cycles(Data*32);
}
void delay_ms(uint32_t Data)
{
delay_cycles(Data*32000);
}
void SPI1_Send8(uint8_t Data)
{
SPI1_CS_OUT0;
delay_us(1);
DL_SPI_transmitData8(SPI_TFT_INST, Data);
while(DL_SPI_isBusy(SPI_TFT_INST));
delay_us(1);
SPI1_CS_OUT1;
}
void TFT_init(void)
{
TFT_BL_SET;
TFT_RESET_reset;
SPI1_CS_OUT1;
}
void TFT_WR_COMM(uint8_t COMM)
{
TFT_RS_reset;
SPI1_Send8(COMM);
}
void TFT_WR_DATA(uint8_t DATA)
{
TFT_RS_set;
SPI1_Send8(DATA);
}
void TFT_WR_DATA16(uint16_t DATA)
{
TFT_WR_DATA( DATA >> 8);
TFT_WR_DATA( DATA );
}
很强