STM32复用引脚和重映射

本文介绍了GPIO复用功能,允许一个引脚既作为普通IO,又可作为数据传输串口。通过使能GPIO和串口时钟,配置端口模式实现。此外,还阐述了GPIO重映射,即改变端口的复用功能到其他端口,以适应不同的硬件布局需求。重映射步骤包括使能相关时钟,启用AFIO时钟并执行重映射配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

复用(AF,alternate function)功能

简单理解就是,一个GPIO引脚及可以做普通IO,又可以做数据传输串口
使用步骤

 1. 先使能GPIO的时钟 //下图中使能GPIOA
 2. 使能串口时钟   //下图使能USART1
 3. 设置好串口设置模式   //根据下面第二个图片设置端口模式
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);//①IO时钟使能

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);//②外设时钟使能

//③初始化IO为对应的模式
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);
  
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA10 PA.10 浮空输入
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入
GPIO_Init(GPIOA, &GPIO_InitStructure);  

下图中PA8,9就是有服用功能:USART1,等复用功能
在这里插入图片描述
在这里插入图片描述

重映射remap

简单说就是将一个端口的复用串口等价到另外端口拥有这个串口功能,但并不是随意映射的,需要根据这个芯片硬件有这个映射功能。为了布线方便。
操作步骤:


 1. 使能被重映射的GPIO端口
 2. 使能被重映射的外设时钟(UART等)
 3. 使能AFIO时钟
 4. 进行重映射
 1.使能GPIO时钟(重映射后的IO);
 2.使能功能外设时钟(例如串口1);
 3.使能AFIO时钟。重映射必须使能AFIO时钟:
     RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
 4.开启重映射。
    GPIO_PinRemapConfig(GPIO_Remap_USART1, ENABLE);
  根据第一个参数,来确定是部分重映射还是全部重映射

在这里插入图片描述

下图中就是USART3的功能也可以映射到PD上面
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值