stm32-USART1重映射

本文介绍了STM32的端口复用概念,解释了如何将GPIO端口配置为串口1的复用功能,并详细阐述了端口复用的配置步骤。接着,文章讲解了STM32的外设引脚重映射功能,允许将外设引脚映射到其他端口以适应不同的设计需求。以串口1为例,展示了重映射的配置流程,包括使能GPIO和AFIO时钟、配置重映射寄存器等步骤。

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

首先来说下什么是端口复用。

STM32有很多的内置外设,这些外设的外部引脚都是与GPIO复用的。也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用。

其实说白了,简单易懂的说,就是某些普通的外设引脚也可以用来其它功能。比如说那我使用的正点原子哥的板子来说吧,串口1 的发送接收引脚是PA9,PA10,当我们把PA9,PA10不用作普通的GPIO口,而用做复用功能串口1的发送接收引脚的时候,叫端口复用。

接下来说下端口复用的配置过程

首先,GPIO端口时钟使能。(这个不管用不用端口复用,要使用某个IO口必须要对时钟进行使能)

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

接下来就是你要使能复用外设时钟。(这里以串口1为例)

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);

接下里就是端口模式配置。 GPIO_Init()函数。

  GPIO_InitTypeDef GPIO_InitStructure;

  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);//初始化GPIOA.9

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA10
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值