STM32的IO口透過電阻接至高電平,這種情況叫做上拉;IO透過電阻接至地,叫做下拉。微控制器的IO在初始狀態時可能會出現高阻態的情況,透過上拉/下拉可以使GPIO口的狀態明確,不會出現誤動作。如果不透過電阻只把IO口接到電源,那麼該IO口的狀態就被寫死了,一直是高電平,失去了控制的意義。
以按鍵輸入為例說明上拉的作用。
上圖是按鍵輸入,埠不上拉的原理圖,在按鍵未按下時,微控制器的埠是浮空的,既不是高電平也不是低電平,微控制器在檢測的過程中會出現誤判的情況,導致誤動作。為了避免這種情況,將埠透過電阻上拉至高電平,在未按下時微控制器讀到確定的高電平,按下時微控制器讀到確定的低電平,增強了穩定性。
下圖是三極體驅動蜂鳴器的電路,三極體的基極透過電阻下拉至地,在微控制器未輸出高電平時,三極體基極是低電平不會觸發蜂鳴器。
如果將下拉去掉,則在微控制器初始化的過程中可能會出現誤觸發。
如果將微控制器的埠不透過電阻而直接連線到電源,那麼該IO口的電平狀態就無法改變了,甚至會把微控制器燒壞,所以不行。
STM32的IO口透過電阻接至高電平,這種情況叫做上拉;IO透過電阻接至地,叫做下拉。微控制器的IO在初始狀態時可能會出現高阻態的情況,透過上拉/下拉可以使GPIO口的狀態明確,不會出現誤動作。如果不透過電阻只把IO口接到電源,那麼該IO口的狀態就被寫死了,一直是高電平,失去了控制的意義。
以按鍵輸入為例說明上拉的作用。
上圖是按鍵輸入,埠不上拉的原理圖,在按鍵未按下時,微控制器的埠是浮空的,既不是高電平也不是低電平,微控制器在檢測的過程中會出現誤判的情況,導致誤動作。為了避免這種情況,將埠透過電阻上拉至高電平,在未按下時微控制器讀到確定的高電平,按下時微控制器讀到確定的低電平,增強了穩定性。
下圖是三極體驅動蜂鳴器的電路,三極體的基極透過電阻下拉至地,在微控制器未輸出高電平時,三極體基極是低電平不會觸發蜂鳴器。
如果將下拉去掉,則在微控制器初始化的過程中可能會出現誤觸發。
如果將微控制器的埠不透過電阻而直接連線到電源,那麼該IO口的電平狀態就無法改變了,甚至會把微控制器燒壞,所以不行。