通过串口监视器进行Arduino通信
问题描述:
大约一个小时前,我已经将我的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()
其余应该被用来代替由Serial.read()
读取一个字符。
我想你应该使用'Serial.parseInt()'而不是'read()'读取一个字符。如果你用LED快速移动,你可以看到闪烁(落后),那么它不是“完全亮度”。 – KIIV
谢谢!这解决了它。 –