STM32系列(一)端口复用和重映射

  1. 端口复用
    端口复用是一种允许一个GPIO引脚在不同的功能模式之间切换的特性,以满足不同外设的需求。也就是说,一个 GPIO
    如果可以复用为内置外设的功能引脚,那么当这个 GPIO 作为内置外设使用的时候,就叫做复用。

    复用端口初始化步骤(以PA9、PA10复用为USART1为例):

    • GPIO 端口时钟使能
      RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
    • 复用的外设时钟使能(这里为USRT1)
      RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
    • 端口模式配置
      这里可以查看《STM32中文手册》复用功能配置一节
      在这里插入图片描述
      //USART1_TX PA.9 复用推挽输出
      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA.9
      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出
      GPIO_Init(GPIOA, &GPIO_InitStructure);
      //USART1_RX PA.10 浮空输入
      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA10
      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入
      GPIO_Init(GPIOA, &GPIO_InitStructure);
      
  2. 端口重映射
    端口重映射是一种允许将特定功能引脚重新映射到不同GPIO端口的功能,以实现引脚功能的灵活配置。

    • 部分重映射:在部分重映射模式下,一些特定的外设功能引脚可以被重新映射到另外的GPIO引脚,但并不改变所有引脚的功能。

    • 完全重映射: 在完全重映射模式下,所有与特定外设相关的引脚都被重新映射到另外的GPIO引脚,这意味着外设所需的所有引脚都发生了变化。
      下图是定时器3的重映射功能表
      在这里插入图片描述

    • 端口重映射步骤(同样以串口1为例):
      在这里插入图片描述

      • 使能 GPIOB 时钟
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
      • 使能串口 1 时钟
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
      • 使能 AFIO 时钟
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
      • 开启重映射
        GPIO_PinRemapConfig(GPIO_Remap_USART1, ENABLE);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值