Здравствуйте. Вопрос в следующем. Можно использовать прерывание по таймеру дважды. То есть допустим выполнять действие 1 через 3 минуты и действие 2 через 5 минут. Если можно, то с примерами. Заранее спасибо!!!
Здравствуйте. Вопрос в следующем. Можно использовать прерывание по таймеру дважды. То есть допустим выполнять действие 1 через 3 минуты и действие 2 через 5 минут. Если можно, то с примерами. Заранее спасибо!!!
На основе этого примера сделаешь то что тебе нужно
PHP код:
#include <MsTimer2.h>
unsigned long timpause=90000;
void flash() //обработка прерывания таймера
{ //будет вызыватся по истечении времени указанного в timpause
MsTimer2::stop()
MsTimer2::set(timpause, flash);
MsTimer2::start();
}
void setup()
{
MsTimer2::set(60000, flash); // 60сек
MsTimer2::start();
}
void loop()
{
//if(чтото равно чемуто то){timpause=120000}
}
Последний раз редактировалось Chip; 15.01.2012 в 22:17.
Спасибо
а можно немного по подробнее, т.е. через каждые 60 сек вызывается функция в которой вызывается еще одно прерывание через timepause сек. Я правильно все понял, заранее спасибо
Написал комментарий в коде
Теперь дошло, большое спасибо
Вот еще вопрос, мне надо чтобы выполнялись через разные сроки (допустим через 3 и 5 минут) разные функции, как это можно сделать, заранее спасибо
Например вот так
PHP код:
#include <MsTimer2.h>
unsigned long timpause=90000;
void flash() //обработка прерывания таймера
{ //будет вызыватся по истечении времени указанного в timpause
MsTimer2::stop()
MsTimer2::set(timpause, flash2);
MsTimer2::start();
}
void flash2() //обработка прерывания таймера
{ //будет вызыватся по истечении времени указанного в timpause
MsTimer2::stop()
MsTimer2::set(timpause, flash);
MsTimer2::start();
}
void setup()
{
MsTimer2::set(60000, flash); // 60сек
MsTimer2::start();
}
void loop()
{
//if(чтото равно чемуто то){timpause=120000}
}
А вот оно как, теперь понятно
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)