關(guān)于上拉電阻的問題,有一個比較朦朧不太確定的疑問:STM32單片機的IO口,可以在程序中設(shè)置為輸出上拉或者輸出下拉模式,而我在設(shè)計IO硬件電路的時候,一般會加一個上拉電阻,程序中也會把IO口設(shè)置為輸出上拉模式,那么我想問的是,是不是在硬件上,這個上拉電阻可以節(jié)省掉?這樣就節(jié)省了一個電阻的價格。如果我節(jié)省掉這個上拉電阻,會帶來啥樣的后果呢? (1)首先我們鼓勵同學(xué)這樣的思考,很多人有疑問但是好像別人從來沒有這么做過,或者說前輩也沒告訴我,這個時候我就不敢去嘗試,不是這樣的,大牛的成長之路都是這樣一邊學(xué)習(xí)一邊質(zhì)疑一邊勇敢的去驗證自己的假想 (2)然后針對于我們這位同學(xué)的問題,我可以確切的告訴大家,程序中也會把IO口設(shè)置為輸出上拉模式,硬件上確實是可以省掉這個上拉電阻的; (3)但是一般我們單片機內(nèi)部的上拉都是弱上拉即上拉電阻比較大,其驅(qū)動動力較弱,所以外邊的上拉電阻能不能省則主要取決于具體的應(yīng)用 (4)比如說如果我們是按鍵輸入,則沒有任何問題,因為我們的按鍵是不存在驅(qū)動能力的問題,所以可以直接省掉,然后內(nèi)部配置成上拉電阻 (5)針對于MCU等上下拉電阻的阻值選擇原則 A.從功耗以及灌電流角度考慮,我們希望其功耗小,灌電流小,所以從這角度而言我們應(yīng)該選擇大電阻,因為電阻大則電流小。 B.從驅(qū)動能力而言我們希望其電阻小,因為電阻小則電流大則驅(qū)動能力強 C.對于高速電路,我們希望其上拉電阻不要太大,因為會使得邊沿信號變緩 綜合考慮以上三點,一般上下拉電阻都是在通常在1k到10k之間
|