我在使用STM32F103C8T6的時候發現PB3這個引腳沒辦法配置成普通的IO輸出,然后查看數據手冊后發現他的默認模式是JTDO,用來給仿真器用的
所以在配置IO的時候,需要調用下面的語句來實現配置成普通IO
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//使能PORTA,PORTE時鍾 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); //使能復用功能時鍾 GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE ); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOB, &GPIO_InitStructure);
調用上面兩行加粗代碼 GPIO_PinRemapConfig的GPIO_Remap參數可以參考手冊這個位置設置,一般如果只使用PB3和PB4的話 設置成GPIO_Remap_SWJ_JTAGDisable就可以了,也就是下面的010選項