最近使用stm32f103c8t6,引脚紧张。于是就把JTAG的的PA15,PB4,PB3使用上了。但发现PB3怎么都是低电平。PB3上拉3.3V
还是低电平。后来查资料了解到MCU上电复位后,PA15,PB4,PB3都默认JTAG端口的。
要想使用使其当成普通端口使用设置方法如下:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); //开启复用时钟
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE); //失能JTAG+使能SWD。
切记GPIO_Remap_SWJ_JTAGDisable这个参数不要搞错了,有的家伙设置成了JTAG+SWD全失能了,
这样的话就会导致代码以后无法再下载了。
当然如果出现这样的情况还是阔以解决的。网友提供了一个方法,我没试过,大家要是出现这种情况可以试试看
网友提供的解决方法如下:
用镊子短路复位电容,鼠标点击下载按钮,稍等个3~4秒,断开短路的电容。
这是因为复位的时候,禁止JTAG的寄存器也是复位状态,所以JTAG就自动启动,未被禁止。