解决STM32F103单片机PB4无法拉低的问题

最近使用STM32F103的单片机,PB4接了一个LED灯,低电平点亮,发现程序没有办法拉低PB4。
仔细查了一下数据收着,发现PB4默认是JTAG引脚,并置于上拉模式,所以没法直接当做普通的IO口拉低。可以复用为SWD下载方式,那么PB4就可以“省出来了”
以下是配置PB4做普通IO口的函数

GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE);  
//PB4默认用作调试口,如果用作普通的IO,需要加上以下两句 
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_5; 
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //推挽输出
  GPIO_Init(GPIOB, &GPIO_InitStructure);

PB4默认为JTAG调试接口
使用SW调试可以省出PB4来

你可能感兴趣的:(STM32)