關於上拉電阻的問題,有一個比較朦朧不太肯定的疑問:STM32單片機的IO口,能夠在程序中設置爲輸出上拉或者輸出下拉模式,而我在設計IO硬件電路的時候,通常會加一個上拉電阻,程序中也會把IO口設置爲輸出上拉模式,那麼我想問的是,是否是在硬件上,這個上拉電阻能夠節省掉啊?這樣就節省了一個電阻的價格。若是我節省掉這個上拉電阻,會帶來啥樣的後果呢?
(1)首先咱們鼓勵同窗這樣的思考,不少人有疑問可是好像別人歷來沒有這麼作過,或者說前輩也沒告訴我,這個時候我就不敢去嘗試,不是這樣的,大牛的成長之路都是這樣一邊學習一邊質疑一邊勇敢的去驗證本身的假想
(2)而後針對於咱們這位同窗的問題,關注B站紀客老白我能夠確切的高速你們,程序中也會把IO口設置爲輸出上拉模式,硬件上確實是能夠省掉這個上拉電阻的;
(3)可是通常咱們單片機內部的上拉都是弱上拉即上拉電阻比較大,其驅動動力較弱,因此外邊的上拉電阻能不能省則主要取決於具體的應用
(4)好比說若是咱們是按鍵輸入,則沒有任何問題,由於咱們的按鍵是不存在驅動能力的問題,因此能夠直接省掉,而後內部配置成上拉電阻
(5)針對於MCU等上下拉電阻的阻值選擇原則
A.從功耗以及灌電流角度考慮,咱們但願其功耗小,灌電流小,因此從這角度而言咱們應該選擇大電阻,由於電阻大則電流小。
B.從驅動能力而言咱們但願其電阻小,由於電阻小則電流大則驅動能力強
C.對於高速電路,咱們但願其上拉電阻不要太大,由於會使得邊沿信號變緩
綜合考慮以上三點,通常上下拉電阻都是在一般在1k到10k之間ide