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