PB4默认 NJTRST口,如果需要使用PB4作为GPIO需要禁止掉NJTRST口功能,使用 gpio_pin_remap_config(SWJTAG_MUX_001,TRUE); 函数可以禁止掉NJTRST功能。(JTAG-DP除能, SW-DP使能)
同时需要开启复用时钟。
crm_periph_clock_enable(CRM_IOMUX_PERIPH_CLOCK,TRUE);
下面是函数
void GPIO_ (void)
{
gpio_init_type gpio_init_struct;
/* 复用开启 */
crm_periph_clock_enable(CRM_IOMUX_PERIPH_CLOCK,TRUE);
/* 时钟开启 */
crm_periph_clock_enable(TFT_CS_RCU,TRUE);
crm_periph_clock_enable(TFT_RS_RCU,TRUE);
crm_periph_clock_enable(TFT_WR_RCU,TRUE);
crm_periph_clock_enable(TFT_RD_RCU,TRUE);
crm_periph_clock_enable(TFT_RST_RCU,TRUE);
crm_periph_clock_enable(TFT_DATA_RCU,TRUE);
/* 设置默认值 */
gpio_default_para_init(&gpio_init_struct);
/* 配置IO口 */
gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;
gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT;
gpio_init_struct.gpio_pull = GPIO_PULL_NONE;
gpio_pin_remap_config(SWJTAG_MUX_001,TRUE);
//CS
gpio_init_struct.gpio_pins = TFT_CS_Pin;
gpio_init(TFT_CS_PORT, &gpio_init_struct);
TFT_CS_VOLTAGE(TRUE);
}