STM32中的GPIO
以STM32中的GPIO為例,如上圖是GPIO的結構圖。
從上圖中標號2處可以看到,上拉和下拉電阻上都有一個開關,通過配置上下拉電阻開關,可以控制引腳的默認電平,這里有三種狀態:
開啟上拉時,引腳默認電壓為高電平
開啟下拉時,引腳默認電壓為低電平
上拉和下拉不開啟時,這種狀態我們稱為浮空模式
關于STM32的GPIO文章,請移步此處:STM32的GPIO電路原理。STM32上下拉及浮空模式的配置是通過GPIOx_CRL和GPIOx_CRH寄存器控制的,可以通過《STM32F1xx 中文參考手冊》查閱。
開啟上拉電阻或下拉電阻的作用
STM32內部的上拉其實是一個弱上拉,也就是說通過此上拉電阻輸出的電流很小,如果想要輸出一個大電流。那么就需要外接上拉電阻了,其實就是增加導線的輸出電流。
下拉電阻情況相反,讓STM32的CPU引腳輸出低電平,結果由于后續電路影響輸出的低電平達不到GND。所以接個下拉電阻,其實就是為了降低導線的輸出電流。
另外當上下拉電阻都不開啟,此時是浮空模式,引腳的電壓是不確定的,此模式下的管腳電壓會時不時改變。
所以為了防止引腳懸空,產生積累電荷、靜電荷,造成電路不穩定。一般情況下,我們都會給引腳設置成上拉或者下拉模式,使它有一個確定的默認電平狀態。
以上拉電阻舉例,在STM32剛上電的時候,芯片引腳電平是不確定的。特別引腳是接按鍵的時候,必須給他個確定的電平。下拉電阻的作用就是,強制讓電平保持在低電平。
上下拉電阻阻值的大小
根據拉電阻的阻值大小,可以分為強拉或弱拉(weak pull-up/down)。拉電阻阻值越小則表示電平能力越強,為強拉,可以抵抗外部噪聲的能力也越強,相應的功耗也越大。
舉個例子:
按鍵的上拉電阻可以選擇3.3k、4.7k、5.1k、10k等,但是電阻越小,電流越大,功耗也越大。10k的上拉電阻帶來的電流,是大多數芯片所能識別到的引腳電流,如果電阻太大,電流太小,引腳識別不了,所以10k是個折中的方案。這里的電流,簡單來說是根據公式VDD/R拉電阻計算出來的。
編輯:jq
-
電阻
+關注
關注
86文章
5561瀏覽量
172513 -
STM32
+關注
關注
2270文章
10923瀏覽量
357077 -
GPIO
+關注
關注
16文章
1216瀏覽量
52279
原文標題:通俗理解STM32中的上/下拉電阻
文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論