如下图1(GD32F30x数据手册截图)所示,PB3默认是JTDO,PB4默认是NJTRST。
如下图2(GD32F30x用户手册截图)所示,当JTAG-DP功能被禁止时,PB3和PB4才能作GPIO用。
所以,要使用PB3和PB4,需要先禁止JTAG-DP。代码如下:
rcu_periph_clock_enable(RCU_AF); //config需要AF时钟
rcu_periph_clock_enable(RCU_GPIOB);
dbg_trace_pin_disable();//
gpio_pin_remap_config(GPIO_SWJ_SWDPENABLE_REMAP,ENABLE);
gpio_init(GPIOB,GPIO_MODE_OUT_PP,GPIO_OSPEED_MAX,GPIO_PIN_3 |GPIO_PIN_4);
gpio_bit_set(GPIOB,GPIO_PIN_3);
gpio_bit_set(GPIOB,GPIO_PIN_4);
上图为图1
上图为图2