我的arduino代码有什么问题?

时间:2017-08-10 22:34:37

标签: arduino-ide

我是arduino代码的完整菜鸟,所以这可能看起来很愚蠢,但是,为什么我的代码无效?

    // IRremote - Version: Latest 
    #include <IRremote.h>
    #include <IRremoteInt.h>
    int ledPin = 9; 

    /*

    */

    void setup() 
    {
      analogWrite(9,0);
      Serial.begin(9600);
      irrecv.enableIRIn();

    void loop(); 
    {
       if (irrecv.decode(4294967295));
        {
          analogWrite(9,255);
          analogWrite(9,0);
          delay(500]);
            irrecv.resume();   
            if (irrecv.decode(4294967295));
             {
               analogWrite(9,0);
             }
        }
    }

此外,在第14行,它表示&#34;&#39; irrecv未在此范围内声明。&#34;

1 个答案:

答案 0 :(得分:0)

这是我注意到的:

您必须为输出设置引脚模式:

void setup(){
   //SET YOUR PINMODE HERE
   pinmode(9,OUTPUT)
   //THEN SET IT TO LOW / 0
   analogWrite(9,0)
}

我不能说你的IRr库,但你的if语句也有可能错误。您需要将引脚设置为高电平(亮起)然后等待500 ms然后将其关闭。你快速闪烁,你看不到光。

void loop() {
       if (irrecv.decode(4294967295)) 
        {
          analogWrite(9,255)
          delay(500)     <--- HERE is the right place for the delay
          analogWrite(9,0)
          //delay(500])  <--- NOT HERE and remove "]" -bracket
        }

我希望这至少有点帮助。切记:始终在设置功能中设置输入和输出。

请看下面的链接。在那里你可以看到引脚是如何设置的等等。 https://www.arduino.cc/en/Reference/AnalogWrite