Как написать таймер без delay
- Войдите на сайт для отправки комментариев
Ср, 25/05/2016 - 06:49
Как написать таймер без delay но время включения и отлючения можно будет менять то есть включения от 2-20 миллисекунд отключения от 50-500мс
вариант http://arduino.ru/
forum/programmirovanie/biblioteka-dlya-tsifrovogo-
vykh...
пост #57
Или arduino.ru/forum/programmirovanie/upravlenie-elektrokotlom-i-nasosom-otopleniya пост#26
http://arduino.ru/Reference/Millis
http://arduino.ru/Reference/Micros
Запоминаешь время, потом сравниваешь текущее. Если разница больше чем нужно - выполняешь функцию.
Ограничение - переполнение счетчика за 70 мин для микроса и 50 дней для миллиса. если МК должен работать в этом режиме более 50 дней делать доп-проверку на переход через 0.
Сейчас Уважемый at0mix Вас местные знатоки начнут учить беззнаковым вычислениям как меня в свое время.
Спасибо за ответ но я не понял как включать определенный выход ардуино с помошю millis,
digitalWrite(pinout,LOW);
вот мой код скетча хочу чтобы работал без delay
if (SetMode>0&&NextCMD>0&&PrevCMD>0)//если режим установлен в 1 или 2. Если 0 - пропускаем { buffMillis=CMDmillis[NextCMD];//вносим в буфер NextMillis=millis();//читаем миллсы if(SetTimerMode) { CMDmillis[NextCMD]+=NextMillis-PrevMillis;//добавляем миллсы в счетчик команды } PrevMillis=NextMillis;//запоминаем время if (buffMillis/TimeXX!=CMDmillis[NextCMD]/TimeXX)//если число минут предыдущей записи отличается от минут текущих - выводим на экран { buffMillis=CMDmillis[NextCMD]/TimeXX; TimeDisplay(NextCMD,buffMillis); } }Спасибо за ответ но я не понял как включать определенный выход ардуино с помошю millis,
Изучай, как работать с millis:
http://arduino.ru/tutorials/BlinkWithoutDelay
http://robocraft.ru/blog/arduino/385.html
вот мой код скетча хочу чтобы работал без delay
Не хотеть надо, а изучать и делать.