MCU學習筆記
IO引腳復用和映射
1. 埠復用
2. 埠復用配置程序
1. 埠復用
-
STM32有很多內置外設,外設的外部引腳都是與GPIO復用的,即,一個GPIO,如果可以復用為內置外設的功能引腳,那么當這個GPIO作為內置外設使用時,就叫做復用,
-
STM32的埠復用映射原理
STM32系列MCU的IO引腳通過一個復用器連接到內置外設或模塊,復用器一次只允許一個外設的復用功能(AF)連接到對應的IO口,這樣確保同一個IO引腳的外設之間不會發生沖突, -
埠復用映射示意圖

由AFRL[31:0]暫存器和AFRH[31:0]暫存器選擇配置引腳的功能AFRL復用功能低位暫存器
對于每一組GPIO,都有對應的一個AFRL暫存器

AFRL復用功能高位暫存器
2. 埠復用配置程序
- 復用功能映射配置
- 系統功能
將IO連接到AF0,然后根據所用功能進行配置:
JTAG/SWD: 在各器件復位后,會將這些引腳指定為專用引腳,可供偏上除錯模塊立即使用(不收GPIO控制器你控制)
RTC_REFIN:此引腳而配置為輸入浮空模式
MCO1, MCO2:這些引腳必須配置為復用功能模式 - GPIO
在GPIOx_MODER暫存器中將所需IO配置為輸出或輸入 - 外設復用
對于ADC, DAC,在GPIOx_MODER暫存器中將所需IO配置為模擬通道,
對于其他外設:
在GPIOx_MODER,GPIOx_PUPDR,GPIOx_OSPEEDER暫存器,分別選擇型別,上拉/下拉以及輸出速度
在GPIOx_APRL或在GPIOx_AFRH暫存器中,將IO連接到所需AFx
程式函式角度配置程序
-
- GPIO埠始終使能
//使能GPIO始終
__HAL_RCC_GPIOA_CLK_ENABLE();
-
- 復用外設時鐘使能
//例如將GPIO復用為串口,則需使能串口時鐘
__HAL_RCC_USART1_CLK_ENABLE();//使能串口時鐘
-
- 埠模式配置為復用功能,HAL_GPIO_Init函式
GPIO_Initure.Mode=GPIO_MODE_AF_PP;//復用推挽輸出
-
- 配置GPIOx_APRL或在GPIOx_AFRH暫存器中,將IO連接到所需AFx,函式HAL_GPIO_Init函式
GPIO_Initure.Alternate=GPIO_AF_USART1;//復用為USART1
參考資料:正點原子視頻 Thanks^^
【注】:個人學習筆記,如有錯誤,望不吝賜教,這廂有禮了~~~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/279658.html
標籤:其他
上一篇:CentOS7 網路配置
