使用STM32F系列,会遇到将JTAG口复用为SPI1或直接用做普通IO。
针对于F1系列,需要先禁止使能 JTAG,然后将其复用为其他口或者普通IO。
针对F4系列,STM32F4库函数中,已经取消了GPIO_*PinRemapConfig()函数,对于复用功能使用GPIO*_PinAFConfig()函数了!
但是在GPIO_PinAFConfig()函数已经没有禁止JTAG/SW等选项了,而是复用到AF0~AF15线上,其中AF0是系统功能(也是复位初始功能)。
其中调试接口就是系统功能,这样需要禁用JTAG功能只需把引脚复用到AF1~AF15中的一个就行了。
直接复用就可使用相应的复用功能,不用想着失能JTAG了。
最好不要 将JTAG复用为普通IO。
PB3 PB4将其作为普通IO输出也可以,不过调试下载需要使用SWD下载调试。
如果将所有的JTAG口作为GPIO使用,将会导致无法找到JTAG和SW设备,板子下不进去程序。