17一起做网站后台,wordpress ftp附件,响应式网站建设推荐乐云践新,做电商要不要公司网站STM32–28–IO引脚的复用功能
STM32的IO复用功能 何为复用? 我们先了解一下何为通用 IO端口的输入或输出是由GPIO外设控制#xff0c;我们称之为通用 复用#xff1a; IO端口的输入或者是输出是由其他非GPIO外设控制就像经常说的USART 由 DR寄存器进行输出
STM32的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/PA9RX/PA10)置 1: 重映像(TX/PB6RX/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 文件中可以找到。