各位开发者好,我在开发中遇到了如下的问题,想咨询一下,盼复:
我使用SF32LB52开发LCD驱动程序的时候,发现DBI接口的CS引脚在芯片中有定义,即PA03脚,但是我在查看官方编写的sifli-sdk\customer\peripherals\ST7789_DBI\st7789_dbi.c和sifli-sdk\customer\peripherals\ili9327\ili9327.c的DBI驱动的时候,发现它们把CS的管脚定义为PA31脚如下
#define CS_PA_x_PIN 31
void ILI9327_CS_HOLD_LOW(void)
{
GPIO_TypeDef *gpio = hwp_gpio1;
GPIO_InitTypeDef GPIO_InitStruct;
// set sensor pin to output mode
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT;
GPIO_InitStruct.Pin = CS_PA_x_PIN;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(gpio, &GPIO_InitStruct);
// set sensor pin to high == power on sensor board
HAL_GPIO_WritePin(gpio, CS_PA_x_PIN, (GPIO_PinState)0);
HAL_PIN_Set(PAD_PA00 + CS_PA_x_PIN, GPIO_A0 + CS_PA_x_PIN, PIN_PULLDOWN, 1);
}
void ILI9327_CS_RELEASE(void)
{
HAL_PIN_Set(PAD_PA00 + CS_PA_x_PIN, LCDC1_8080_CS, PIN_NOPULL, 1);
}
在浏览了官方的驱动程序后,也没有找到关于原生DBI_CS的驱动函数,想问一下:
- 为什么要使用另外的GPIO,而不是原来的特定GPIO?
- 如果我使用PA03脚作为CS引脚,有没有驱动函数可以直接用,还是说我必须按照上面的代码编写一个驱动PA03的函数?