由於stm32復位後,會將PB3和PB4默認爲JTAG的IO,佔用這兩個IO。根據網絡裏面介紹需要把JTAG功能disable掉 。
見下面代碼
void fun_Display_PownOn(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO, ENABLE); //ENABLEPBCLK
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE); //Disable jtag
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; //LED0-->PA.8 端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推輓輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度爲50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure); //
GPIO_SetBits(GPIOB,GPIO_Pin_0_7); //
GPIO_ResetBits(GPIOB,GPIO_Pin_8_15); //點亮LED燈
}
實際測試:在SWD debug模式下PB4能做普通IO ,但是PB3依舊不行。求指教