輸出模式下,可由芯片向外輸出電平。例如點(diǎn)亮LED,就需要給LED提供高電平。
GPIO_Mode_Out_OD 開漏輸出
當(dāng)CPU輸出邏輯0時(shí),I/O端口輸出低電平,而當(dāng)CPU輸出邏輯1時(shí),該引腳處于開漏,也就是浮空狀態(tài)(高阻態(tài)),如果想輸出高電平則必須接入上拉電阻。同時(shí)IO口可以由外部電路改變?yōu)榈碗娖交虿蛔?,即可讀IO輸入電平變化,實(shí)現(xiàn)了I/O端口的雙向功能。簡(jiǎn)單來說,開漏輸出只可以輸出強(qiáng)低電平,高電平得靠外部電阻拉高。顯然,這種輸出方式就有一個(gè)優(yōu)點(diǎn),由于高電平完全由外部電阻控制,那此模式下的輸出電平是可以通過改變電阻而改變的。
此外,可以將多路開漏輸出的引腳連接到一條線上,通過一個(gè)上拉電阻,在不增加任何器件的情況下,形成“與邏輯”關(guān)系,這也是I2C,SMBus,等總線判斷總線占用狀態(tài)的原理。
主要應(yīng)用:該模式適用于電平不匹配場(chǎng)合、適合做電流型的驅(qū)動(dòng),吸收電流能力比較強(qiáng)。
GPIO_Mode_Out_PP 推挽輸出
輸出具有驅(qū)動(dòng)能力,當(dāng)CPU輸出邏輯0時(shí),I/O端口輸出低電平,而當(dāng)CPU輸出邏輯1時(shí),I/O端口輸出高電平。相當(dāng)于可以給其他元件供電,并且可以直接通過邏輯語言0和1控制是否供電。
主要應(yīng)用:點(diǎn)燈以及其他所有需要直接提供高低電平的操作。
GPIO_Mode_AF_OD 復(fù)用開漏輸出
當(dāng)有多個(gè)不同的模塊對(duì)應(yīng)同一個(gè)引腳時(shí),那這個(gè)GPIO就要使用復(fù)用功能,其他方面與開漏輸出相同。即如果用在IC、SMBUS這些需要線與功能的復(fù)用場(chǎng)合,就使用復(fù)用開漏模式。
主要應(yīng)用:片內(nèi)外設(shè)功能(TX1、MOSI、MISO.SCK.SS)
GPIO_Mode_AF_PP 復(fù)用推挽輸出
和復(fù)用開漏輸出同理,當(dāng)某一個(gè)GPIO對(duì)應(yīng)多個(gè)復(fù)用模塊時(shí),要用到復(fù)用功能。
主要應(yīng)用:片內(nèi)外設(shè)功能(I2C的SCL、SDA)
輸入一般用浮空輸入,如果要使引腳在懸空狀態(tài)時(shí)電平確定就用上拉/下拉輸入,如果要輸入連續(xù)的模擬量就用模擬輸入。
輸出一般用推挽輸出,如果要調(diào)節(jié)輸出的電平就用開漏輸出,如果有端口復(fù)用的情況就用復(fù)用輸出模式。
-
cpu
+關(guān)注
關(guān)注
68文章
10863瀏覽量
211797 -
GPIO
+關(guān)注
關(guān)注
16文章
1204瀏覽量
52106 -
高電平
+關(guān)注
關(guān)注
6文章
149瀏覽量
21388
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論