STM32F103的PB3、PB4引脚

发布时间 2023-04-02 10:59:29作者: 浮沉_fuchen

做了一个使用STM32F103RBT6的PCB,将PB3~9分配给了三位一体八段数码管,发现PB3、PB4对应的这两段映硬是不亮,检查寄存器是有值的,由于芯片是从另一块板子上面拆下来的,所以首先怀疑芯片故障,结果换了新的MCU还是同样的效果,于是上网搜索,原来PB3和PB4在系统复位时分别默认为JTag接口的SYS_JIDO和SYS_HJTRST,所以需要自行禁止其功能,才能将PB3和PB4作为普通I/O口使用,以下是相关代码:

//打开GPIO口时钟,先打开复用才能修改是否停用复用功能
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO,ENABLE);
//关闭JTAG,使能SWD
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);

在初始化I/O时加入以上代码就ok了。