STM32之复用功能

Posted ansn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32之复用功能相关的知识,希望对你有一定的参考价值。

  复用功能分复用输入,复用输出,STM32芯片内部集成多种模块,如GPIO、串口、i2c等,为使IO端口支持这些模块,厂家对IO端口进行扩展,同一个端口通过设置寄存器会有不同的功能。如下图IO结构图:

技术图片

STM32的复用功能由两个高、低的均为32位的寄存器组成:

  (1) GPIO 复用功能低位寄存器 (GPIOx_AFRL)

技术图片

  (2) GPIO 复用功能高位寄存器 (GPIOx_AFRH)

技术图片

 复用功能寄存器4位为1小组,分别是AFL0~AFL7、AFH8~AFH15。

 AFL0~AFL7 是和GPIOx0~GPIOx7一一对应,AFH8~AFH15和GPIOx8~GPIOx15一一对应。

STM32底层没有AFRH和AFRL寄存器,底层是封装成一个数组AFR[2],ARF[0]代表AFRL寄存器,AFR[1]代码AFRH寄存器。

示例:把GPIOA9 、GPIOA10设为复用功能,则有下面:

         GPIOA9、GPIOA10分别对应:  GPIOA->AFR[1] |= 7<<4    ;   GPIOA->AFR[1] |= 7<<8 ;     

     注释:7表示AF7,为复用数据,4和8表示复用GPIO的位置.  GPIOA9 、GPIOA10属于AFH8~AFH15的范畴。

IO口的复用功能可以查询 “STM32f405、407xxx数据手册”复用表:

  技术图片

 

以上是关于STM32之复用功能的主要内容,如果未能解决你的问题,请参考以下文章

STM32F4 HAL库开发 -- 复用功能外设

STM32F4 HAL库开发 -- 复用功能外设

STM32F4 HAL库开发 -- 复用功能外设

STM32端口复用和重映射

STM32F030如何正确配置IO口的复用功能

串口之编程步骤