STM32端口复用和重映射

本文介绍了STM32的端口复用概念,通过举例讲解了如何将PA9和PA10设置为串口引脚实现复用。同时,详细阐述了端口复用的步骤,包括使能GPIO和外设时钟,配置端口模式。此外,还解释了端口重映射功能,以解决硬件布线问题,并提供了将USART1_TX和USART1_RX重映射到PB6和PB7的代码示例。

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

一 端口复用
STM32有很多内置资源,但是其IO口的数量是固定的,普通IO口在充当GPIO口的同时,还需要成为内置资源的外设引脚,那么如何才能物尽其用呢?于是STM32给出了解决方案:“端口复用”,什么是端口复用呢?当GPIO作为外设引脚使用时即为端口复用。
MCU都有串口功能,根据《STM32中文参考手册》查询得到USART1_TX引脚复用对应PIN口为PA9,USART1_RX引脚复用对应PIN口为PA10,原本PA9与PA10引脚都为普通IO口使用,而我们现在将其使用为串口IO来使用,这个过程就是端口复用。
在这里插入图片描述
端口复用有几大步骤:

  1. 使能GPIO端口时钟,RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  2. 复用外设时钟使能,RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);使用哪一个外设就使能哪一个外设。
  3. 端口模式配置,使用外设,就必须对外设IO口进行配置,具体如何配置请查询《STM32中文参考手册》,我们将USART配置全部配置为全双工模式,然后USART1_TX配置为推挽复用输出,USART1_RX配置为浮空输入或带上拉输入。
    在这里插入图片描述
    代码展示:
//USART1_TX PA9 复用推挽输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA.9
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值