IO也叫GPIO,即通用輸入輸出端口,主要有一下幾種模式,普通輸入,模擬輸入,開漏輸出,推挽輸出,另外還可附加配置浮空,上拉或者下拉,或者復用。普通輸入就是讀取ttl電平的邏輯值,不多解釋;模擬輸入對外表現為高阻,一方面可以在啟用內部adc的時候使用,另一方面降低不用端口的電流,減小功耗;開漏輸出簡單講就是邏輯1輸出高阻態,邏輯0輸出低電平,因此需要外部上拉電阻,看似麻煩但是好處是可以做邏輯電平轉換,天生帶‘線與’的功能;而推完輸出就是強制拉高或拉低電平(不超過IO電流輸出能力的前提下),不需要外部上拉了。上下拉電阻在不同系列STM32里不太一樣,有的只能輸入才有,有的輸入輸出共用,和外部上下拉差不多,不過阻值不小,上下拉能力有限。復用就不說了,主要是后端與片上外設連線的關系,和IO關系不是太大。
單片機IO口輸出一般有準雙向口輸出、 推挽輸出、開漏輸出等。下面介紹這三種輸出模式。
準雙向口輸出:準雙向口輸出就是可作為輸出也可作為輸入口,因此這個口是不定的,是準雙向類型,不用重新I/O口的輸出狀態 。準雙向口有3個上拉晶體管以便根據不同的需要設置表不同的參數。這三個晶體管分別是起到強上拉、極弱上拉、弱上拉功能。
推挽輸出:
推挽輸出是因為它的輸出結構類似于推挽結構,它是一種由兩個三極管(或者其他MOS管等)分別受到一個信號的控制,這信號的互補的,就是說只有一個三極管導通,一個三極管導通的時候另一個就要截止。推挽輸出可以輸出高電平,也可以輸出低電平。當鎖存器為“1”時候可以持續提供強上拉,這種輸出結構可以驅動需要很大電流的器件。
開漏輸出:這種結構作為邏輯輸出時候,必須要有外部上拉,上拉電阻要為10K左右比較好,一般是通過電阻加到VCC電源,這樣才可以讀取外部狀態,也就是說此時的開漏輸出的可以作為外部的輸入I/O口。
除了這些有些還附帶PWM輸出功能,芯片內部集成PWM等,用來專門驅動電機、蜂鳴器等需要PWM的信號。
-
單片機
+關注
關注
6032文章
44525瀏覽量
633264 -
IO
+關注
關注
0文章
436瀏覽量
39084
原文標題:通俗講解單片機IO口的輸出模式
文章出處:【微信號:changxuemcu,微信公眾號:暢學單片機】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論