STM32F103JTAG引脚配置成普通IO

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);

猜你喜欢

转载自blog.csdn.net/qq_15391889/article/details/83958082