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數據手冊”復用表:

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM