STM32的JTAG用作普通IO口设置方法

版权声明:本文为小生原创,转载请注明出处,好吗好的,善哉善哉!!! https://blog.csdn.net/u010650845/article/details/79530155

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

猜你喜欢

转载自blog.csdn.net/u010650845/article/details/79530155