{每日答疑}關(guān)于上拉電阻的問(wèn)題,有一個(gè)比較朦朧不太確定的疑問(wèn):STM32單片機(jī)的IO口

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