help me!

Тема в разделе "Arduino & Shields", создана пользователем rk4alj, 2 май 2016.

  1. rk4alj

    rk4alj Нуб

    доброго времени суток. помогите пожалуйста исправить ошибки.
    Код (C++):
    int regim=1;
    int flag=0;

    void setup()  
    {
        pinMode(10,OUTPUT);  
        pinMode(9,OUTPUT);  
         
    }

    void loop()

    {
         
         if(digitalRead(14)==HIGH&&flag==0)
         {
           regim++;  
           flag=1;
           if(regim>4)
           {
              regim=1;
                }
         
         }
         
          if(digitalRead(14)==LOW&&flag==1)
          {
             
            flag=0;
             }
        if(regim==1)
        {
          digitalWrite(9,HIGH);
          delayMicroseconds(40);
          digitalWrite(9,LOW);
          delayMicroseconds(500);
          digitalWrite(10,HIGH);
          delayMicroseconds(40);
          digitalWrite(10,LOW);
        }
        if(regim==2)
        {
          digitalWrite(9,HIGH);
          delayMicroseconds(200);
          digitalWrite(9,LOW);
          delayMicroseconds(500);
          digitalWrite(10,HIGH);
          delayMicroseconds(200);
          digitalWrite(10,LOW);
        }
        if(regim==3)
        {
          digitalWrite(9,HIGH);
          delayMicroseconds(40);
          digitalWrite(9,LOW);
          delayMicroseconds(40);
          digitalWrite(9,HIGH);
          delayMicroseconds(40);
          digitalWrite(9,LOW);
          digitalWrite(10,HIGH);
          delayMicroseconds(40);
          digitalWrite(10,LOW);
          delayMicroseconds(40);
          digitalWrite(10,HIGH);
          delayMicroseconds(40);
          digitalWrite(10,LOW)
          delayMicroseconds(40);
        }
        if(regim==4)
        {
          digitalWrite(9,HIGH);
          delayMicroseconds(40);
          digitalWrite(9,LOW);
          delayMicroseconds(40);
          digitalWrite(9,HIGH);
          delayMicroseconds(40);
          digitalWrite(9,LOW);
          delayMicroseconds(500);
          digitalWrite(10,HIGH);
          delayMicroseconds(40);
          digitalWrite(10,LOW);
          delayMicroseconds(40);
          digitalWrite(10,HIGH);
          delayMicroseconds(40);
          digitalWrite(10,LOW)
          delayMicroseconds(40);
        }
       
    }
     
  2. Airbus

    Airbus Радиохулиган Модератор

    Что делает сиё творение и в чём конкретно ошибка?И хотелось бы увидеть коментарии чтобы понять Вашу логику :)
     
    cody_c++ нравится это.
  3. rk4alj

    rk4alj Нуб

    при подаче питания, ни чего не происходит

    -первое нажатие кнопки. включается первый режим короткие одиночные вспышки ,длит. 40мс )

    -второе нажатие,длинные одиночные вспышки длит. 200мс

    -третье нажатие, двойные вспышки без паузы длит. 40мс

    -четвертое нажатие, двойные вспышки с паузой длит.40мс


    [пишет вот что
    In function 'void loop()': 67:7: error: expected ';' before 'delayMicroseconds' 86:7: error: expected ';' before 'delayMicroseconds']
     
  4. VadimRM

    VadimRM Нуб

    Код (C++):
    int regim=1;
    int flag=0;

    void setup()
    {
        pinMode(10,OUTPUT);
        pinMode(9,OUTPUT);
     
    }

    void loop()

    {
     
         if(digitalRead(14)==HIGH&&flag==0)
         {
           regim++;
           flag=1;
           if(regim>4)
           {
              regim=1;
               }
     
         }
     
         if(digitalRead(14)==LOW&&flag==1)
         {
         
            flag=0;
             }
       if(regim==1)
       {
          digitalWrite(9,HIGH);
          delayMicroseconds(40);
          digitalWrite(9,LOW);
          delayMicroseconds(500);
          digitalWrite(10,HIGH);
          delayMicroseconds(40);
          digitalWrite(10,LOW);
       }
       if(regim==2)
       {
          digitalWrite(9,HIGH);
          delayMicroseconds(200);
          digitalWrite(9,LOW);
          delayMicroseconds(500);
          digitalWrite(10,HIGH);
          delayMicroseconds(200);
          digitalWrite(10,LOW);
       }
       if(regim==3)
       {
          digitalWrite(9,HIGH);
          delayMicroseconds(40);
          digitalWrite(9,LOW);
          delayMicroseconds(40);
          digitalWrite(9,HIGH);
          delayMicroseconds(40);
          digitalWrite(9,LOW);
          digitalWrite(10,HIGH);
          delayMicroseconds(40);
          digitalWrite(10,LOW);
          delayMicroseconds(40);
          digitalWrite(10,HIGH);
          delayMicroseconds(40);
          digitalWrite(10,LOW);//забыл поставить точку с запятой (бывает)
          delayMicroseconds(40);
       }
       if(regim==4)
       {
          digitalWrite(9,HIGH);
          delayMicroseconds(40);
          digitalWrite(9,LOW);
          delayMicroseconds(40);
          digitalWrite(9,HIGH);
          delayMicroseconds(40);
          digitalWrite(9,LOW);
          delayMicroseconds(500);
          digitalWrite(10,HIGH);
          delayMicroseconds(40);
          digitalWrite(10,LOW);
          delayMicroseconds(40);
          digitalWrite(10,HIGH);
          delayMicroseconds(40);
          digitalWrite(10,LOW)
          delayMicroseconds(40);
       }
    }
     
  5. rk4alj

    rk4alj Нуб





    In function 'void loop()': 86:7: error: expected ';' before 'delayMicroseconds'
     
  6. ANV

    ANV Гуру

    А не пробовали сделать то, что от вас хочет компилятор? Т.е. все-таки поставить точку с запятой перед delayMicroseconds?
    Вот тут в средней строке:
    Код (C++):
          delayMicroseconds(40);
         digitalWrite(10,LOW)
          delayMicroseconds(40);
     
  7. rk4alj

    rk4alj Нуб

    поставил
     
  8. ANV

    ANV Гуру

    Помогло? :)
     
  9. rk4alj

    rk4alj Нуб

    нет:)
     
  10. ANV

    ANV Гуру

    Что теперь пишет?
     
  11. rk4alj

    rk4alj Нуб

    то что я и писал
     
  12. rk4alj

    rk4alj Нуб

    In function 'void loop()': 86:7: error: expected ';' before 'delayMicroseconds'
     
  13. ANV

    ANV Гуру

    Поставьте еще одну точку с запятой, у вас не только одной не хватало

    86:7 - это строка и номер символа в окрестности которых возникла ошибка
     
  14. rk4alj

    rk4alj Нуб

    то есть 86 строка 7 символ?
     
  15. ANV

    ANV Гуру

    Да.
    Но могут быть ньюансы, когда это предыдущая строка
     
  16. rk4alj

    rk4alj Нуб

    сейчас попробую, еще вопрос. кнопка изменения режима работы на какой пин вешается
     
  17. ANV

    ANV Гуру

    Давайте вы это сами попробуете из своего кода понять, на какой пин вы повесили кнопку? :)
     
  18. rk4alj

    rk4alj Нуб

    я так понял с 14-го, но его там не наблюдаю
     
  19. rk4alj

    rk4alj Нуб

    просто начало кода взято с одного источника, начиная с
    Код (C++):
    digitalWrite(9,HIGH);
          long interval = 40;
          digitalWrite(9,LOW);
          long interval = 500;
    далее додумано мной, но на основе другого источника
     
  20. ANV

    ANV Гуру

    [​IMG]
     
    cody_c++ и Volk65 нравится это.