小知识(1):关于端口的复用及重映射

本文介绍了STM32中GPIO的复用和重映射概念及其实现步骤。通过使能GPIO和外设时钟,配置GPIO模式,可以将GPIO复用为内置外设功能引脚,如将PA9和PA10复用为串口1。同时,通过重映射技术,可以将复用功能引脚映射到其他引脚,如将串口1从PA9和PA10重映射到PB6和PB7。了解这些技术对于优化STM32硬件资源的利用至关重要。
摘要由CSDN通过智能技术生成

复用

一个 GPIO如果可以复用为内置外设的功能引脚,那么当这个 GPIO 作为内置外设使用的时候,就叫做复用。

复用的步骤:

  1. 使能相应GPIO 端口时钟。
  2. 复用的外设时钟使能。
  3. 配置端口模式、初始化GPIO

例:PA9,PA10复用为串口1

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);IO时钟使能
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);外设时钟使能

//初始化IO为对应模式
GPIO_InitStructure.GPIO_Mode= GPIO_Mode_AF_PP; //模式选择为复用推挽输出
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed=  GPIO_Speed_50MHz;//速率选择为50M
GPIO_Init(GPIOA,&GPIO_InitStructure);//初始化GPIOA

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode= GPIO_Mode_IN_FLOATING; //模式选择为浮空输入
GPIO_Init(GPIOA,&GPIO_InitStructure);

重映射

为了使不同器件封装的外设 IO 功能数量达到最优,可以把一些复用功能重新映射到其他一些引脚上(设置重映射寄存器)。

重映射的步骤:

  1. 使能被重映射的IO端口时钟。
  2. 使能被重映射的外设时钟。
  3. 使能AFIO时钟(重要!不要随便使能!)
  4. 重映射

例:将原PA9,PA10的复用串口1重映射到PB6,PB7

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能 GPIOB 时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); //使能串口 1 时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); //使能 AFIO 时钟

GPIO_PinRemapConfig(GPIO_Remap_USART1, ENABLE);//开启重映射,根据第一个参数确定部分重映射还是全部重映射

参考自:STM32学习笔记(5)端口复用及重映射简介(改)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ChristianLuu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值