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