個人總結:這八種必須弄懂?。。?!
本文引用地址:http://m.butianyuan.cn/article/201611/322757.htm
最近在看數(shù)據手冊的時候,發(fā)現(xiàn)在Cortex-M3里,對于GPIO的配置種類有8種之多:
(1)GPIO_Mode_AIN模擬輸入,應用ADC模擬輸入,或者低功耗下省電
(2)GPIO_Mode_IN_FLOATING浮空輸入,可以做KEY識別,RX
(3)GPIO_Mode_IPD下拉輸入,在沒有信號輸入的時候,下拉電阻能使讀取input值保持為低,類似推挽,主要是為了增強驅動能力
(4)GPIO_Mode_IPU上拉輸入,在沒有信號輸入的時候,上拉電阻能使讀取input值保持為高,類似推挽,主要是為了增強驅動能力,電阻同時起限流作用!弱強只是上拉電阻的阻值不同,沒有什么嚴格區(qū)分。
(5)GPIO_Mode_Out_OD開漏輸出,IO輸出0接GND,IO輸出1,懸空,需要外接上拉電阻,才能實現(xiàn)輸出高電平。當輸出為1時,IO口的狀態(tài)由上拉電阻拉高電平,但由于是開漏輸出模式,這樣IO口也就可以由外部電路改變?yōu)榈碗娖交虿蛔???梢宰xIO輸入電平變化,實現(xiàn)C51的IO雙向功能。適合于做電流型的驅動,其吸收電流的能力相對強(一般20ma以內).
(6)GPIO_Mode_Out_PP推挽輸出,IO輸出0-接GND,IO輸出1-接VCC,讀輸入值是未知的
(7)GPIO_Mode_AF_OD復用開漏輸出片內外設功能(TX1,MOSI,MISO.SCK.SS)
(8)GPIO_Mode_AF_PP復用推挽輸出片內外設功能(I2C的SCL,SDA)
推挽輸出:可以輸出高,低電平,連接數(shù)字器件;推挽結構一般是指兩個三極管分別受兩互補信號的控制,總是在一個三極管導通的時候另一個截止。高低電平由IC的電源低定。
推挽電路是兩個參數(shù)相同的三極管或MOSFET,以推挽方式存在于電路中,各負責正負半周的波形放大任務,電路工作時,兩只對稱的功率開關管每次只有一個導通,所以導通損耗小、效率高。輸出既可以向負載灌電流,也可以從負載抽取電流。推拉式輸出級既提高電路的負載能力,又提高開關速度。
評論