STM32F103JTAG引腳配置成普通IO
阿新 • • 發佈:2018-11-11
STM32上有兩個除錯介面,一個是JTAG,一個是SWD。SWD佔用2個IO口,分別為SWDIO和SWCLK。標準的JTAG介面是4線:TMS、 TCK、TDI、TDO,分別為模式選擇、時鐘、資料輸入和資料輸出線。因此我們一般用SWD來除錯MCU,這樣,除去SWDIO的兩條線,JTAG介面的另外三個口則可以用來作普通IO口使用。
配置如下:
GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); //打開復用時鐘 GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);//呼叫重對映函式 GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15 ; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 ; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 ; GPIO_Init(GPIOB, &GPIO_InitStructure);