Обьясните почему не работает простой код.

Тема в разделе "Arduino & Shields", создана пользователем yuri_uir, 18 янв 2018.

  1. DIYMan

    DIYMan Guest

    В целом подход верный, но само использование delay - если вас устраивает, оставьте. Лично я предпочитаю обходиться без delay, насколько это возможно.
     
  2. ostrov

    ostrov Гуру

    Отфарматировать код не судьба? Хотя бы автоматически.
     
  3. yuri_uir

    yuri_uir Нуб

    Я уже прочитал, что лучше без delay, но что то не догнал еще как пользоваться millis().
     
  4. yuri_uir

    yuri_uir Нуб

    d cvs
    В смысле отформатировать?
     
  5. yuri_uir

    yuri_uir Нуб

    Прописал пока задержку таким образом:
    Код (C++):
    int currentValue, prevValue;

    void setup(){
       for(i=2; i<LedMax; i++) { pinMode(i, OUTPUT );}
       pinMode(inPin, INPUT);}

    void loop(){
    currentValue = digitalRead(inPin);
    if (currentValue != prevValue){
    delay(10);
    currentValue = digitalRead(inPin);}
    if (currentValue==1)
             {  delay (2);
             for (i=2; i<=LedMax;i++){
        digitalWrite( i, HIGH);
        delay(500);       }
         }
    так правильно бороться с дребезгом?
     
  6. ostrov

    ostrov Гуру

    Без делея: каждые 10 мс опрашиваем кнопку и сравниваем с тем что было. Если 01, то нажали, если 10 то отжали. Остальное игнорим.