STM32的JTAG用作普通IO口设置方法
2018-04-15 来源:eefocus
1. 引脚
STM32F10x系列的MCU复位后,PA13、PA14、PA15、PB3、PB4 默认为JTAG下载调试功能,不能当做普通IO口使用,有时为了充分利用资源,一般使用SW来下载调试,即只需要PA13、PA14两个引脚即可
PA13 - JTMS/SWDIO
PA14 - JTCK/SWCLK
PA15 - JTDI
PB3 - JTDO
PB4 - JTRST
2. 代码
void jtag_to_io( void ){
GPIO_InitTypeDef GPIO_InitStructure;
/*使能GPIOA GPIOB AFIO(关闭JTAG)*/
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,ENABLE );
/*禁用-JTAG , 使能-SW*/
GPIO_PinRemapConfig( GPIO_Remap_SWJ_JTAGDisable,ENABLE );
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init( GPIOA,&GPIO_InitStructure );
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init( GPIOB,&GPIO_InitStructure );
}