通过串行监视器进行Arduino通信

时间:2016-09-20 18:08:20

标签: arduino

我大约一小时前将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 */
    }

1 个答案:

答案 0 :(得分:0)

根据代码的其余部分,应使用Serial.parseInt()代替Serial.read()读取一个字符。