ARDUINO UNO數字引腳端口上電后不穩定狀態。
在使用4*4矩陣鍵盤時,遇到了輸入端的電平無法穩定,一直被識別為高電平。
在發現這一問題后,首先檢查程序是否出錯。檢查后發現程序沒有任何問題。
於是檢查期間端口的電壓值,這是一個比較直觀的方法,可以清楚的知道輸出口的電平。檢查結果是在無按鍵按下時電壓數字只有零點幾的數值,很明顯屬於低電平。按下按鍵時,測得得電壓為高電平。但是不管是高低電平,執行得程序都是高電平得程序。
經過以上兩個步驟得檢測,還沒有發現任何問題,以度認為買到假貨了。
后來經過查詢和詢問。才知道引腳作為數字輸入,但是不連接任何的拉電阻,處於懸空轉態,容易受電子噪聲干擾而隨機的改變其電平狀態。這種情況是我在接觸51系列時沒有遇見過的。
所以,引腳作為數字輸入使用時,需要接上拉電阻或者下拉電阻。ARDUINO引腳內部存在上拉電阻(參考MCU的數據手冊)或者外加電阻。
使用A103J排阻,由於習慣的直接把排阻的公共端直接接5V,導致整排引腳都被拉高,運行情況和沒接電阻之前時一模一樣。一開始挺懵逼的,不知道這是為什么?
在沒有任何頭緒情況下,只好進行硬件電路的改變,最終發現當公共端不接5V時,可以正常運行。
A103J的公共端接5V則時當初上拉電阻,接地或者不接,則當初下拉電阻。
本次實驗由於抽空完成,前后差不多花了10天的時間。