DBI 8Bit 接口疑问

各位开发者好,我在开发中遇到了如下的问题,想咨询一下,盼复:
我使用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的驱动函数,想问一下:

  1. 为什么要使用另外的GPIO,而不是原来的特定GPIO?
  2. 如果我使用PA03脚作为CS引脚,有没有驱动函数可以直接用,还是说我必须按照上面的代码编写一个驱动PA03的函数?
  1. 52开发板定义的是PA03, 这个驱动代码里面写的PA31应该是另外的板子上的屏驱copy而来(ili9327),属于误写可以删除。
  2. ili9327 是在另外一个板子上开发的,当时是用的PA31作为CS,而且切换到了GPIO模式通过软件去控制,是为了可以任意一个GPIO做DBI_CS功能,同时使用GPIO模式,可以防止硬件在多个操作之间自动拉高CS。