GD32 GPIO失控的解决方案
本周接手了同事GD32的大坑项目,之前一直使用CUBEMX+IDE开发STM32,一换到MDK浑身难受,陆续踩了不少坑。今天这个坑来自于GD32的下载器配置机制。再MX开发32的时候下载端口默认是没有的,GD32的下载端口默认都是使能的。
因此PB3/4及时被执行了GPIO低的操作,也会出现浮动的电压,这里实测是2.6V
目前的项目中使用SWD下载程序,启动的功能引脚被JTAG占用因此无法实现功能,增加了以下两行代码实现了禁用JTAG:
//这两段代码写在初始化GPIO之前rcu_periph_clock_enable(RCU_AF);//禁用JTAG引脚功能,操作的是AF寄存器,所以要先使能AF时钟 gpio_pin_remap_config(GPIO_SWJ_SWDPENABLE_REMAP, ENABLE);**