STM32的JTAG用作普通IO口設(shè)置方法
1. 引腳
STM32F10x系列的MCU復(fù)位后,PA13、PA14、PA15、PB3、PB4 默認(rèn)為JTAG下載調(diào)試功能,不能當(dāng)做普通IO口使用,有時(shí)為了充分利用資源,一般使用SW來下載調(diào)試,即只需要PA13、PA14兩個(gè)引腳即可
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(關(guān)閉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 );
}