STM32——端口复用与重映射

STM32——端口复用与重映射,第1张

目录

端口复用的概念

 内置外设的概念

端口复用的概念

端口复用的配置

配置示例(串口1)

复用GPIO的配置 

STM32中文参考手册 110页

端口重映射概念 

端口重映射概念

部分重映射

完全重映射

AFIO时钟

开启AFIO情况

重映射端口配置 


端口复用的概念
 内置外设的概念
  • 除单片机内核外,单片机内部可实现功能的设备,如串口,ADC 等
端口复用的概念
  • 为了节省单片机资源,采取内部外设引脚与GPIO引脚共用同一引脚,当GPIO做内部外设使用时叫做 复用
端口复用的配置 配置示例(串口1)
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);  
复用GPIO的配置 
STM32中文参考手册 110页
端口重映射概念 
端口重映射概念
  • 内部外设除其默认的复用端口外,还可以通过重映射,将其功能映射到其他端口
部分重映射
  • 功能外设的部分引脚重新映射,还有一部分引脚是原来的默认引脚
完全重映射
  • 功能外设的所有引脚都重新映射

下表为例 

AFIO时钟
开启AFIO情况

  • AFIO_MAPR:配置复用功能重映射
  • AFIO_EXTICRX:配置外部中断线映射
  • AFIO_EVCR:   配置EVENTOUT事件输出 
重映射端口配置 
  1. 使能GPIO时钟(重映射后的IO);
  2. 使能功能外设时钟(例如串口1);
  3. 使能AFIO时钟。重映射必须使能AFIO时钟:
  4. RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
  5. 开启重映射。
  6. GPIO_PinRemapConfig(GPIO_Remap_USART1, ENABLE);

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/713270.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-24
下一篇2022-04-24

发表评论

登录后才能评论

评论列表(0条)

    保存