一、GPIO是什么
GPIO( general purpose intput output )是通用輸入輸出端口的簡稱,可以通過軟件來控制其輸入和輸出晕粪。STM32芯片的GPIO引腳與外部設(shè)備連接起來泡挺,從而實現(xiàn)與外部通訊、控制以及數(shù)據(jù)采集的功能助析。
二犀被、STM32引腳分類
- 電源管腳
- 晶振管腳
- 復(fù)位管腳
- 下載管腳
- BOOT管腳
- GPIO管腳
三、如何查找GPIO功能
通過STM32F103ZET6芯片數(shù)據(jù)手冊即可查找外冀。
四寡键、GPIO基本結(jié)構(gòu)
五、GPIO工作模式
(一)輸入模式
輸入浮空
輸入上拉
輸入下拉
模擬輸入
(二)輸出模式
開漏輸出
開漏復(fù)用輸出
推挽輸出
推挽復(fù)用輸出
(三)總結(jié)
推挽輸出
- 可以輸出高低電平雪隧,用于連接數(shù)字器件西轩,高電平由VDD決定员舵,低電平由VSS決定。
- 推挽結(jié)構(gòu)指兩個三極管受兩路互補(bǔ)的信號控制藕畔,總是在一個導(dǎo)通的時候另外一個截止马僻,優(yōu)點開關(guān)效率效率高,電流大注服,驅(qū)動能力強(qiáng)韭邓。
- 輸出高電平時,電流輸出到負(fù)載溶弟,叫灌電流女淑,可以理解成推,輸出低電平時辜御,負(fù)載電流流向芯片鸭你,叫拉電流,即挽我抠。
開漏輸出
- 只能輸出低電平苇本,不能輸出高電平。如果要輸出高電平菜拓,則需要外接上拉瓣窄。
- 開漏輸出具有“線與”功能,一個為低纳鼎,全部為低俺夕,多用于I2C和SMBUS總線。
六贱鄙、GPIO初始化步驟
具體寄存器參考STM32F1xx中文參考手冊劝贸。
- 確定GPIO的工作模式和工作速度(通過配置寄存器GPIOx_CRL和GPIOx_CRH)
- 具體要輸出的內(nèi)容(置位復(fù)位寄存器:BSRR和數(shù)據(jù)輸出寄存器:ODR)