пятница, 11 сентября 2015 г.

прерывания

Узнал, что существуют прерывания, поэтому отказываюсь от Delay(). Delay() - это зло.Поизучал  я прерывания по таймеру, наткнулся на интересный блог Лешака, он применяет конструкцию типа:
[code]// "заготовка/шаблон функции" которая периодически выполняет КАКОЕ-ТО-ДЕЙСТВИЕ
void somePeriodical(unsigned long interval){
static unsigned long prevTime=0;
if(millis()-prevTime>interval){
prevTime=millis();
КАКОЕ-ТО-ДЕЙСТВИЕ;
}
}
[/code]

Разобью свой старый  скетч вентиляции с delay на несколько подфункций somePeriodical:

  1. опрос темпер датчиков
  2. опрос датчиков влажности и перепада
  3. управление вентилятором
  4. включение тена с пид регулятором
  5. вывод на lsd экран
  6. передача по сети (планируется)