STM32F103系列五个特殊引脚作为GPIO时的配置

STM32F103系列五个特殊引脚作为GPIO时的配置

    对于STM32F103系列的单片机,有5个比较特殊的引脚,它们分别是PB3、PB4、PA13、PA14、PA15。
这5个引脚在默认状态下并不是用作GPIO功能的,而是用于JTAG/SWD仿真器的调试接口。
其中:
JTAG功能下的引脚对应情况如下:
    PA13--JTMS--JTAG模式选择
    PA14--JTCK--JTAG时钟
    PA15--JTDI--数据输入
    PB3---JTDO--数据输出
    PB4---JNTRST--复位
SWD功能下的引脚对应情况如下:
    PA13--SWDIO--数据的输入/输出
    PA14--SWCLK--SWD时钟
    PA15---------未使用
    PB3----------跟踪时用作TRACESWO信号
    PB4----------未使用
由于以上引脚默认功能不是GPIO功能,因此在使用这几个引脚作为GPIO功能时需要进行引脚的重映射。
关于以上引脚的重映射,可以分为三种情况:
1、GPIO_Remap_SWJ_JTAGDisable
用简洁的话来说,这种重映射情况就是把PB3、PB4、PA15这三个引脚用作普通GPIO,而把PA13和PA14这两个引脚用作SWD的调试功能。
2、GPIO_Remap_SWJ_Disable               
这种情况是把这五个引脚全部用作普通GPIO,因此将不能再用JTAG/SWD仿真器进行调试,但可以使用ST-LINK。 
3、GPIO_Remap_SWJ_NoJTRST     
这种情况下仅仅把PB4这一个引脚作为普通GPIO,JTAG/SWD可以正常使用,但是JTAG没有复位功能。
了解了以上几个特殊引脚的重映射方式后,在使用这几个引脚为GPIO时可以按照以下流程进行配置:
1、打开对应的GPIO时钟以及AFIO引脚复用时钟。
例如,使用PB3/PB4引脚时配置如下:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);
2、根据前面的三种不同的重映射方式,选择自己需要的重映射方式。
例如,当我们使用重映射方式一时,配置如下:
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);   
3、正常初始化引脚的各种功能。

相关推荐

  1. STM32F103系列特殊作为GPIO配置

    2024-04-08 07:44:04       36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-08 07:44:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-08 07:44:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-08 07:44:04       87 阅读
  4. Python语言-面向对象

    2024-04-08 07:44:04       96 阅读

热门阅读

  1. 元类创建类的流程详解

    2024-04-08 07:44:04       40 阅读
  2. 【测试开发学习历程】python函数

    2024-04-08 07:44:04       31 阅读
  3. C语言学习分享

    2024-04-08 07:44:04       28 阅读
  4. 什么是物联网?

    2024-04-08 07:44:04       38 阅读