STM32第二章I/O埠應用
阿新 • • 發佈:2018-11-09
STM32F10xxx系列中,有7個I/O埠,每個埠有兩個32位配置暫存器(GPIOx_CRL,GPIOx_CRH),兩個32位資料暫存器(GPIOx_IDR和GPIOx_ODR),一個32位置位/復位暫存器(GPIOxBSRR),一個16位復位暫存器(GPIOx_BRR)和一個32位鎖存器(GPIOx_LCKP)。通過軟體配置成輸入浮空,上拉,下拉,模擬輸入,開漏輸入,推輓式輸出,推輓式複用功能,開漏複用功能。
- I/O埠必須32位字被訪問(不允許半字或位元組訪問)
- 所有引腳有弱上拉和弱下拉,配置輸入時,可以被啟用也可以斷開
單獨的位設定或清除
- 對GPIOx_ODR的個別位程式設計,軟體不需要禁止中斷,在單次APB2寫操作中,可以只改一位或多位。通過“置位/復位暫存器”(GPIOx_BSRR,復位是GPIOx_BRR)中想要更改的位寫1來實現的。
外部中斷/喚醒線
- 所有埠都有外部中斷能力。為了使用外部中斷線,埠必須配置成輸入模式。
複用功能AF
- 對於複用的輸入功能,埠必須配置成輸入模式(浮空、上拉或下拉)且輸入引腳由外部驅動
- 複用輸出功能,埠配置成複用功能輸出模式(推輓或開漏)--引腳和輸出暫存器斷開,並和外設連結,外設沒有啟用,輸出狀態不穩定
- 雙向複用功能,埠配置成複用功能輸出模式(推輓或開漏)。這時,輸入驅動被配置成浮空輸入模式
軟體重對映I/O埠複用功能
- 將一些複用功能重新對映到其他引腳上,可通過軟體配置相應的暫存器
GPIO鎖定機制
- 凍結I/O配置,在下一次復位之前不能改變埠的配置
I/O位輸入時,輸出驅動器禁止。根據輸入配置,弱上拉和下拉選擇性連線。
輸出配置,輸出驅動啟用,
- 開漏模式
- 推輓模式
- 施密特觸發被啟用
- 弱上拉下拉禁止
複用功能配置
- 當配置成複用功能時,在開漏或推輓配置中,輸出驅動被開啟,內建外設驅動輸出驅動器(複用功能輸出),施密特觸發輸入被啟用,若上拉下拉禁用