0
大約一個小時前,我已經將我的Arduino帶出了機箱,並試圖獲得一些代碼工作。 下面的代碼應該等待來自串行監視器的輸入,並將連接在端子9上的LED設置爲輸入值。 Arduino首次讀取值,但始終將led設置爲完全亮度,並且從不打印「輸入無效」。 Arduino在第一個之後也沒有讀取任何值。我相信這是一個新秀的錯誤,但我無法弄清楚它是什麼。通過串口監視器進行Arduino通信
int A;
void setup()
{
Serial.begin(9600);
Serial.println("input value");
}
void loop()
{
A = 0; /*reset A */
if (Serial.available() > 0) /* wait for input */
{
A = Serial.read(); /* read input */
if(A >= 0 && A <= 255) /* check for valid input */
{
analogWrite(9, A); /* set value of led */
}
else
{
Serial.println("input invalid");
}
}
delay(100); /* wait 0.1 sec */
}
我想你應該使用'Serial.parseInt()'而不是'read()'讀取一個字符。如果你用LED快速移動,你可以看到閃爍(落後),那麼它不是「完全亮度」。 – KIIV
謝謝!這解決了它。 –