• 【【STM32--28--IO引脚的复用功能】】


    STM32–28–IO引脚的复用功能

    STM32的IO复用功能
    何为复用?
    我们先了解一下何为通用
    IO端口的输入或输出是由GPIO外设控制,我们称之为通用
    复用:
    IO端口的输入或者是输出是由其他非GPIO外设控制就像经常说的USART 由 DR寄存器进行输出

    STM32的IO复用功能
    1.各个IO都支持什么复用功能
    2.IO复用功能的冲突问题
    在同一时间IO只能用作一种复用功能,否则会发生冲突
    3,遇到IO复用功能冲突
    我们的解决方法是可以考虑采用重映射功能,后续课程会讲解
    我们知道芯片有许多外设,而引脚的资源是很有限的,为了解决这个问题,方法就是引脚
    复用,这样使得引脚除了作为普通的 IO 口之外,还会与一些外设关联起来,作为第二功能使
    用,而且一个引脚不单单只有一种复用功能,而是拥有多个第二功能,但是一次只允许一个外
    设的复用功能,以确保共用同一个 IO 引脚的外设之间不会产生冲突。
    AFIO 寄存器的作用就是复用功能 I/O 和调试配置的,STM32F103ZET6 共有 6 个 AFIO 的
    寄存器,事件控制寄存器 AFIO_EVCR、复用重映射和调试 I/O 配置寄存器 AFIO_MAPR、外部
    中断配置寄存器 AFIO_EXTICR1、外部中断配置寄存器 AFIO_EXTICR2、外部中断配置寄存器
    AFIO_EXTICR3 和外部中断配置寄存器 AFIO_EXTICR4。

    复用重映射和调试 I/O 配置寄存器 AFIO_MAPR 寄存器描述
    在这里插入图片描述
    在对 AFIO_MAPR 寄存器某些位进行写入实现引脚的重新映射,这时候,复用功能不再映射到它们原始分配上。例如 AFIO_MAPR 寄存器位 2 是对 USART1 的重映射,置 0: 没有重映像(TX/PA9,RX/PA10);置 1: 重映像(TX/PB6,RX/PB7)。默认情况下,PA9 和 PA10 是作为串口 1 的引脚使用,假如 PA9 和 PA10 被用作其他地方,但还是需要用到串口 1,那么就可以在 AFIO_MAPR 的位 2 置 1,把串口 1 的引脚重映射到 PB6 和 PB7。这个串口初始化的过程,就有点变化,需要初始化 AFIO 时钟,和对 AFIO_MAPR 的第 2 位进行置 1 操作,其他与普通串口配置没有区别。HAL 库已经把这些配置工作都定义好了,我们只需要去寻找这些复用的宏定义,这些关于端口复用相关的代码在 stm32f1xx_hal_gpio_ex.h 文件中可以找到。

  • 相关阅读:
    Bitquiz重塑Learn to Earn热潮,用户零投入让学习创造价值
    argparse——命令行参数解析
    FME实现CAD带属性转SHP数据方法
    pcl基于颜色的区域增长点云分割
    浅析汽车芯片信息安全之安全启动
    不到20W纯电SUV提回家,到店实拍2022款奇瑞大蚂蚁
    计算机是如何工作的下篇
    Compose中的FlowLayout
    Spring的7种事务传播机制
    Linux:磁盘空间占用,查看某个文件或目录占用磁盘空间的大小
  • 原文地址:https://blog.csdn.net/weixin_50965981/article/details/132638933