1. 程式人生 > >防止接通電源時IO口電平不穩的問題

防止接通電源時IO口電平不穩的問題

Arduino NUO R3 板子在測試的過程中發現,在板子接通電源後的200毫秒左右,會在輸出IO口產生一系列不穩定電平訊號(高或低),並大約持續5秒後恢復正常(這時候開始執行loop)。具體原理不清楚,只知道這個問題給程式執行帶來問題。所以需要解決。

具體表現為:
1、當setup中定義一個led:
pinMode(ledpin,OUTPUT);
digitalWrite(ledpin,HIGH);
該led的實際執行情況為亮一下接著滅掉(或持續幾次),5秒鐘後才恢復亮起(HIGH)狀態。
2、定義一個低電平觸發的繼電器:
pinMode(10,OUTPUT);
未設定低電平的情況下,依然會給予LOW(或持續幾次),致使繼電器觸發一次(或幾次)。

為了繞過這個200毫秒的問題,在setup程式段中加一個延時(在第幾句都可以),保證讓程式在200毫秒之後才跳到loop,即可解決。

程式碼如下:

void setup() {
delay(500); //如果不加這句,通電後會誤觸發IO口的各種事件。
pinMode(7,OUTPUT);  //定義led燈
digitalWrite(7,HIGH);  //讓led燈開始就亮起狀態。
pinMode(10,OUTPUT);  //定義低電平觸發的繼電器
digitalWrite(10,HIGH);  //讓繼電器開始就斷開狀態。
//delay(500); //或者加在這裡。
}