STM32 端口复用重映射

什么是端口复用

STM32有很多个外设,外设的外部引脚与GPIO复用。也就是说一个GPIO可以重复使用外设的引脚,这个GPIO作为内置外设使用的时候,就叫做复用

举例:
GPIOA 9 可以作为普通PGIO使用,引脚复用为串口1的发送
GPIOA 10 可以作为普通PGIO使用,引脚复用为串口1的接收
GPIOA1 可以作为普通PGIO使用,复用为外部中断

举例:
串口1的发送接收引脚为PA9 PA10,我们把这两个引脚不用做PGIO,而复用为串口1的发送和接收引脚,叫做端口复用。

如何配置端口复用

端口复用配置过程:(以 USART1 : PA9 PA10串口 为例)

1.配置GPIO时钟:
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE);
2.配置USART1时钟:
RCC_APB2PeriphClockCmd( RCC_APB2Periph_USART1, ENABLE);
3.如何配置相对应的GPIO模式

如何配置端口复用

在这里插入图片描述
USART_TX 发送端IO口 : 推挽复用输出模式
GPIO_Mode = GPIO_Mode_AF_PP;
USART_RX 接收端IO口 : 浮空输入/上拉输入
GPIO_Mode = GPIO_Mode_IN_FLOATING / GPIO_Mode = GPIO_Mode_IPU

在这里插入图片描述

1.配置GPIO时钟
2.配置复用的USART1时钟
3.配置GPIO结构体

什么是端口重映射

每个外设都有若干个输入输出引脚,一般这些引脚也都是固定不变的,但为了让开发工程师更好的安排引脚的功能和走向,引入了重映射的功能。 也就是一个外设的引脚除了具有默认的端口外,也还可以设置重映像寄存器来把这个外设映射到其他GPIO端口。
方便硬件工程师布线,减少干扰。
在这里插入图片描述

什么是部分重映射和完全重映射

部分重映射: 功能外设的部分引脚重新映射,还有一部分引脚是原来的默认引脚。

完全重映射: 功能外设的所有引脚都是重新映射。
在这里插入图片描述

重映射的配置过程

串口1为例:

① 使能GPIO引脚(重映射后的GPIO引脚)
②使能功能外设
③使能AFIO时钟,重映射必须使能AFIO时钟
RCC_APB2PeriphClockCmd( RCC_APB2Periph_AFIO, ENABLE);
④开启重映射:
void GPIO_PinRemapConfig(uint32_t GPIO_Remap, FunctionalState NewState);

案例看下篇文章STM32 通用定时输出PWM

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一只小阿大:)

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

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

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

打赏作者

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

抵扣说明:

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

余额充值