我正在使用STM32微控制器。這些微控制器可以選擇將輸入引腳設置為上拉還是下拉:
我以前曾在需要時提供外部上拉或下拉電阻,但現在我想知道我是否可以省去外部組件並使用微控制器本身的下拉功能。
這將是一件好事嗎?
在某些用例中,我應該格外注意還是完全不使用此功能?
我正在使用STM32微控制器。這些微控制器可以選擇將輸入引腳設置為上拉還是下拉:
我以前曾在需要時提供外部上拉或下拉電阻,但現在我想知道我是否可以省去外部組件並使用微控制器本身的下拉功能。
這將是一件好事嗎?
在某些用例中,我應該格外注意還是完全不使用此功能?
是的...您可以...這是一項經過驗證的功能。 如果您在STM32參考手冊中看到了引腳結構,則可以看到它具有必需的組件-
如果這滿足您的要求,則可以省去外部組件。
Edit請記住,在上電時,引腳將處於三態。如果它不妨礙您的應用程序,那就太好了!這就是為什麼最好先初始化IO部分,然後再使用其他外圍設備的原因。
通常,最好使用內部上拉或下拉電阻。
缺點是您可能忘記從軟件啟用它,這可能會引起一些麻煩。外部上拉電阻將始終存在。因此,請不要忘記啟用內部功能,並通過減少組件數量來節省大量PCB面積。
STM32的內部上拉和下拉電阻通常在\ $ 30 \ small〜k \ Omega \ $和\ $ 50 \ small〜k \ Omega \ $之間。
在使用內部電阻器之前,應始終檢查您的應用是否需要一定的上拉或下拉電阻值。例如,請勿將與I 2 sup> C一起使用,因為這些值太高了。
除非上拉和下拉電阻在復位期間處於活動狀態(我懷疑它們不是,但我對STM32器件不熟悉),否則復位時引腳狀態不確定。這是使用外部上拉或下拉電阻的主要原因之一。
正如其他人所說,只要有以下條件,內部上拉和下拉電阻就可以了:
最後一點,請記住,中壓電平的CMOS輸入會在其輸入對上產生大量的直通電流。這可能會在啟動期間在低功率系統中引起問題。
通常,外部上拉電阻器的設計更為保守。
除了所有答案中列出的其他優良例外之外,在許多情況下,內部上拉電阻對於I²C來說也太弱了。