STM32第二章I/O端口應用
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位字被訪問(不容許半字或字節訪問)
![](http://static.javashuo.com/static/loading.gif)
- 全部引腳有弱上拉和弱下拉,配置輸入時,能夠被激活也能夠斷開
單獨的位設置或清除
- 對GPIOx_ODR的個別位編程,軟件不須要禁止中斷,在單次APB2寫操做中,能夠只改一位或多位。經過「置位/復位寄存器」(GPIOx_BSRR,復位是GPIOx_BRR)中想要更改的位寫1來實現的。
外部中斷/喚醒線
- 全部端口都有外部中斷能力。爲了使用外部中斷線,端口必須配置成輸入模式。
複用功能AF
- 對於複用的輸入功能,端口必須配置成輸入模式(浮空、上拉或下拉)且輸入引腳由外部驅動
- 複用輸出功能,端口配置成複用功能輸出模式(推輓或開漏)--引腳和輸出寄存器斷開,並和外設連接,外設沒有激活,輸出狀態不穩定
- 雙向複用功能,端口配置成複用功能輸出模式(推輓或開漏)。這時,輸入驅動被配置成浮空輸入模式
軟件重映射I/O端口複用功能
- 將一些複用功能從新映射到其餘引腳上,可經過軟件配置相應的寄存器
GPIO鎖定機制
- 凍結I/O配置,在下一次復位以前不能改變端口的配置
I/O位輸入時,輸出驅動器禁止。根據輸入配置,弱上拉和下拉選擇性鏈接。
輸出配置,輸出驅動激活,
- 開漏模式
- 推輓模式
- 施密特觸發被激活
- 弱上拉下拉禁止
複用功能配置
- 當配置成複用功能時,在開漏或推輓配置中,輸出驅動被打開,內置外設驅動輸出驅動器(複用功能輸出),施密特觸發輸入被激活,若上拉下拉禁用
![](http://static.javashuo.com/static/loading.gif)
模擬輸入配置
歡迎關注本站公眾號,獲取更多信息