1. 程式人生 > >STM32F407 IO引腳複用器和對映 個人筆記

STM32F407 IO引腳複用器和對映 個人筆記

基本概念

stm32有一些內建外設,每個外設有一個複用功能AF(Alternate functions).
stm32的每個io引腳東路有一個16路複用器,該複用器一端連該引腳,另外16端連AF0~AF15
該複用器可以通過GPIOx_AFRL(針對該組引腳的 0-7號引腳)和 GPIOx_AFRH(針對引腳 8-15)暫存器來配置,即選擇哪個AF連線該io引腳

如何知道每個io口複用了哪些AF

並不是每一個io口都能任意選擇所有AF, 由示意圖也可以知道,AF1可能是兩個TIM1或TIM2,AF3可能是TIM8~TIM11,顯然每個io口每次只能複用一個外設
那如何知道每個io口複用了哪些AF呢?
方法一:.在晶片資料中的《STM32F407ZGT6.pdf》(datasheet)中,找到table 6. pin and ball definitions ,裡面由一欄就是AF

方法二:在原理圖《Explorer STM32F4_V2.2_SCH.pdf》中,第二頁MCU中可以看到,每個引腳裡面寫的就是其複用的AF:

軟體控制複用器選擇哪個AF

一組IO口的高、低八位分別由GPIOx_AFRHGPIOx_AFRL暫存器控制。
下圖對應GPIOx_AFRL (低8位)
可以看到每個io引腳佔用4位,這4位選擇一個AF來複用