我大约一小时前将Arduino从包装盒中取出,我正试图让一些代码正常工作。 下面的代码应该等待串行监视器的输入,并将端子9连接的LED设置为输入值。 Arduino第一次读取值但始终将LED设置为全亮度,并且从不打印“输入无效”。 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 */
}
答案 0 :(得分:0)
根据代码的其余部分,应使用Serial.parseInt()
代替Serial.read()
读取一个字符。