STM32 GPIO的十大優(yōu)越功能綜述
一、共有8種模式,可以通過編程選擇:
1. 浮空輸入
2. 帶上拉輸入
3. 帶下拉輸入
4. 模擬輸入
5. 開漏輸出——(此模式可實現(xiàn)hotpower說的真雙向IO)
6. 推挽輸出
7. 復(fù)用功能的推挽輸出
8. 復(fù)用功能的開漏輸出
模式7和模式8需根據(jù)具體的復(fù)用功能決定。
二、專門的寄存器(GPIOx_BSRR和GPIOx_BRR)實現(xiàn)對GPIO口的原子操作,即回避了設(shè)置或清除I/O端口時的“讀-修改-寫”操作,使得設(shè)置或清除I/O端口的操作不會被中斷處理打斷而造成誤動作。
三、每個GPIO口都可以作為外部中斷的輸入,便于系統(tǒng)靈活設(shè)計。
四、I/O口的輸出模式下,有3種輸出速度可選(2MHz、10MHz和50MHz),這有利于噪聲控制。
五、所有I/O口兼容CMOS和TTL,多數(shù)I/O口兼容5V電平。
六、大電流驅(qū)動能力:GPIO口在高低電平分別為0.4V和VDD-0.4V時,可以提供或吸收8mA電流;如果把輸入輸出電平分別放寬到1.3V和VDD-1.3V時,可以提供或吸收20mA電流。
七、具有獨立的喚醒I/O口。
八、很多I/O口的復(fù)用功能可以重新映射,見:你知道嗎?STM32上很多管腳功能可以重新映射。
九、GPIO口的配置具有上鎖功能,當(dāng)配置好GPIO口后,可以通過程序鎖住配置組合,直到下次芯片復(fù)位才能解鎖。此功能非常有利于在程序跑飛的情況下保護系統(tǒng)中其他的設(shè)備,不會因為某些I/O口的配置被改變而損壞——如一個輸入口變成輸出口并輸出電流。
十、輸出模式下輸入寄存器依然有效,在開漏配置模式下實現(xiàn)真正的雙向I/O功能。
評論