Прошу помощи, где я напортачил? Полная растерянность...

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

Задача, вроде, примитивная, но...

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

Прошу прощения, не ту кнопку нажал. По нажатию кнопки через 4 сек выключить светодиод.

      //АРДУИНО МЕГА 2560

unsigned long button; //Задержка времени для считывания кнопки

void setup()
{
  pinMode(12, OUTPUT); //Выход на светодиод
  digitalWrite(12, HIGH);
  pinMode(8, INPUT_PULLUP);  //Здесь висит кнопка
  Serial.begin (115200);//Инициализация порта вывода
}
void loop()
{
  if (millis() - button > 100) //Каждые 100 мсек запрос нажата ли кнопка?
    {
      boolean q=digitalRead(8);
      Serial.println (q);
      if (q=0)
        {
          delay (4000); 
          digitalWrite (12,LOW);          
        }
      button = millis(); //________Обнуляем переменную времени
}

Никак не пойму, где напортачено? По нажатию кнопки монитор порта исправно говорит, что q приравнивается к нулю, но светодиод не гаснет. Пробовал приравнивать к False и LOW - результат тот же.

sadman41
Offline
Зарегистрирован: 19.10.2016

Строка 18 не содержит условия сравнения.

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

sadman41 пишет:

Строка 18 не содержит условия сравнения.

Спасибо огромное! Глаз замылился. Конечно, надо "=="!

SLKH
Offline
Зарегистрирован: 17.08.2015

Sonologist пишет:

sadman41 пишет:

Строка 18 не содержит условия сравнения.

Спасибо огромное! Глаз замылился. Конечно, надо "=="!

Один из Сишних приколов. Иногда изрядно раздражает (когда про него забываешь).

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

SLKH пишет:

Sonologist пишет:

sadman41 пишет:

Строка 18 не содержит условия сравнения.

Спасибо огромное! Глаз замылился. Конечно, надо "=="!

Один из Сишних приколов. Иногда изрядно раздражает (когда про него забываешь).

Ну это ты на JS не писал! Там еще и === есть, шоб скучно не было.

Всё думаю на досуге язык сочинить где еще и ==== будет, может Женя что подскажет? ;))))

Алексей.
Алексей. аватар
Offline
Зарегистрирован: 02.02.2018

SLKH пишет:
Один из Сишних приколов. Иногда изрядно раздражает (когда про него забываешь).

Наверно не забываешь а забИваешь на это, потому как компилятор кричит, а мы забИли на это.
 

/opt/arduino-1.8.9/hardware/tools/avr/bin/avr-g++ -c -g -Os -Wall -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -I/opt/arduino-1.8.9/hardware/arduino/avr/cores/arduino -I/opt/arduino-1.8.9/hardware/arduino/avr/variants/mega /tmp/arduino_build_655362/sketch/sketch_may09a.ino.cpp -o /tmp/arduino_build_655362/sketch/sketch_may09a.ino.cpp.o
/home/alex/Arduino/sketch_may09a/sketch_may09a.ino: In function 'void loop()':
/home/alex/Arduino/sketch_may09a/sketch_may09a.ino:18:14: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
       if (q=0)
              ^

 

bwn
Offline
Зарегистрирован: 25.08.2014

Sonologist пишет:

Спасибо огромное! Глаз замылился. Конечно, надо "=="!

0 = q, а если так?

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Алексей. пишет:

SLKH пишет:
Один из Сишних приколов. Иногда изрядно раздражает (когда про него забываешь).

Наверно не забываешь а забИваешь на это, потому как компилятор кричит, а мы забИли на это.
 

/opt/arduino-1.8.9/hardware/tools/avr/bin/avr-g++ -c -g -Os -Wall -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -I/opt/arduino-1.8.9/hardware/arduino/avr/cores/arduino -I/opt/arduino-1.8.9/hardware/arduino/avr/variants/mega /tmp/arduino_build_655362/sketch/sketch_may09a.ino.cpp -o /tmp/arduino_build_655362/sketch/sketch_may09a.ino.cpp.o
/home/alex/Arduino/sketch_may09a/sketch_may09a.ino: In function 'void loop()':
/home/alex/Arduino/sketch_may09a/sketch_may09a.ino:18:14: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
       if (q=0)
              ^

Крики компилятора зависят от настроек, не у всех настройки иде такие как у вас. Поэтому ваши оценочные суждения преждевременны :)

Алексей.
Алексей. аватар
Offline
Зарегистрирован: 02.02.2018

brokly пишет:
Крики компилятора зависят от настроек, не у всех настройки иде такие как у вас. Поэтому ваши оценочные суждения преждевременны :)

Об том и речь, забьем на варнинги, просто их отключим, а когда просрем что то важное, начинаем ругать компилятор.

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Алексей. пишет:

brokly пишет:
Крики компилятора зависят от настроек, не у всех настройки иде такие как у вас. Поэтому ваши оценочные суждения преждевременны :)

Об том и речь, забьем на варнинги, просто их отключим, а когда просрем что то важное, начинаем ругать компилятор.

Тады ой. Но давайте не будем забывать, что мы в песочнице :)

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

wdrakula пишет:
язык сочинить где еще и ==== будет, может Женя что подскажет? ;))))
Сочинить можно, а вот в готовом не видел. Хотя, совсем не удивлюсь, если в каком-то есть.

SLKH
Offline
Зарегистрирован: 17.08.2015

wdrakula пишет:

Ну это ты на JS не писал! Там еще и === есть, шоб скучно не было.

Всё думаю на досуге язык сочинить где еще и ==== будет, может Женя что подскажет? ;))))

 

Таблица 4-2. Операторы Отношения

= равно



== сравнивает символьные типы на точное

соответствие или сравнивает первые 12 значащих

цифр числовых типов

для остальных типов равнозначен "="

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

SLKH, я чуток расширю ответ графа

wdrakula пишет:

Ну это ты на JS не писал! Там еще и === есть

и означает "ещё равнее" :)))

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

SLKH пишет:

Таблица 4-2. Операторы Отношения

= равно



== сравнивает символьные типы на точное

соответствие или сравнивает первые 12 значащих

цифр числовых типов

для остальных типов равнозначен "="

Это откуда такое? Про что это?

SLKH
Offline
Зарегистрирован: 17.08.2015

ЕвгенийП пишет:

SLKH пишет:

Таблица 4-2. Операторы Отношения

= равно



== сравнивает символьные типы на точное

соответствие или сравнивает первые 12 значащих

цифр числовых типов

для остальных типов равнозначен "="

Это откуда такое? Про что это?

Понравилось? Это Clipper.

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

На клиппере я в последний раз работал в 1993. Тогда не понравилось. А сейчас - не изучал :(

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

Вот что меня всегда восхищало - так это то, что народ легко скачет с одного языка на другой (С - С+ - Dbase - Clipper - Pascal - Delphi - Basic... и т.д.)  и еще при этом бодро обсуждает их тонкости и скрытые особенности. Всю жизнь преклоняюсь перед профи. Тут с VB6 на некую разновидность С с таким скрипом....

PS: Други, ни доли иронии!