最近使用STM32F103单片机使用模拟IIC发现PB4引脚无论如何配置IIC都不能正常工作,反复查找了硬件的问题和其他的GPIO配置都没找到原因;
最终还是靠网友解决了这一问题,由于PB4默认的是JTAG引脚,无法直接当作GPIO口使用,必须将JTAG模式关闭;
具体操作如下:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); // 打开GPIO口时钟,首先打开复用时钟才能修改复用功能
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE); //要先打开时钟,再重映射;这句表示关闭JTAG,使能SWD