Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

gera_b
2017-03-10 18:20:48

по сценарию демо становится тру только if (Serial.available() > 0)

консоль отладки-то открыта или просто подано питание и все ? smile)
Если отладка открыта, но не работает тогда нужно писать

if (Serial.available() > 0)
  {   
    Serial.print("[DEBUG] if inner scope");
    Serial.println();
    Timer1.initialize(alle_x_minuten*60000);
    Serial.print("[DEBUG] Timer was initialized");
    Serial.println();
    Demo == true;

и смотреть в консоль дойдёт ли код до вывода. И так постепенно дойти до места в котором должен оказаться обработчик, но до которого по магическим причинам не доходит и потом расследовать эти причины. Ошибки сценария искать трудно. Только таким вод деревянным аутпутом.

Bars
2017-03-10 18:13:03

вроде и так почти всё лишнее удалил, но сижу второй день и не могу понять почему не происходит вызов демо sad yikes

Волшебник
2017-03-10 00:46:24

Я так и понял, что новичёк, поэтому и говорю что чем проще скетч, тем легче в нём разобраться. Все части лучше отлаживать отдельно, а потом уж соединять /добавлять по одной. Кстати привыкайте писать 60000UL, а то компилёр такой фокусник, что никогда не знаешь как он интерпретирует, надо указывать 'принудительно' что размер умножения будет больше чем интежер вмещает.

Bars
2017-03-10 00:07:23

Волшебник ты прав, 100 в микросекундах   
правильно будет так Timer1.initialize(alle_x_minuten*60000);
изменял для тестирования что бы долго не ждать вызов демо.


Я только недавно начал знакомиться с ардуино, поэтому для меня ещё не всё так просто  smile

Волшебник
2017-03-09 22:06:48

Таймер1 инициализация берётся в микросекундах, Timer1.initialize(alle_x_minuten*100); т.е. у Вас 100 мкс или 10 кГц.
В библиотеке есть примеры, почему бы не отладить работу таймера отдельно в простом скетче а потом уж усложнять светодиодами?

Bars
2017-03-09 20:52:37

Спасибо Гера,

Demomodus(); исправил, вызов не происходит

gera_b
2017-03-09 20:45:38

чтоьы понять что идет не так натыкай повсюду  Serial.print(%отладочная информация%);

что бросилось в глаза сразу
if (Demo == true)
  {
    Demomodus;
  } 

вызов функции происходит не так.  Demomodus(); должно быть

Bars
2017-03-09 20:24:39

Добрый день, 

подскажите пожалуйста как в этот скейчь добавить / откорректировать функцию демо
например после того как выполниться последняя функция,  через 3 минуты включалось демо.

Підвал форуму