GyverTimer как изменить время

z2z

✩✩✩✩✩✩✩
10 Фев 2020
15
0
как изменить время срабатывания таймера?
C-like:
#include "GyverTimer.h"
GTimer_ms myTimer;               // создать таймер

void setup() {
  Serial.begin(9600);
 // myTimer.setInterval(500);   // настроить интервал
 Serial.println("start Timer!");
}

void loop() {
  myTimer.setInterval(500);
  //myTimer.reset();
  //myTimer.start();
  if (myTimer.isReady()) Serial.println("Timer!");

//   
}
вот такая конструкция не работает
 

Старик Похабыч

★★★★★✩✩
14 Авг 2019
1,652
409
Москва
myTimer.setInterval(500); перезапускает таймер каждый раз. А т.к. ты ставишь в цикле, то это ра 25000 в секунду происходит
 
  • Лойс +1
Реакции: z2z

Mix_man

✩✩✩✩✩✩✩
21 Янв 2020
65
6
Правильно Старче говорит.
Так а че ты в setup() прописал , и закомментил )))
и резет и старт не нужен, (в данном коде)
 
  • Лойс +1
Реакции: z2z

z2z

✩✩✩✩✩✩✩
10 Фев 2020
15
0
Спасибо! Заработало)
надо время срабатывания изменять по АЦП
 

Старик Похабыч

★★★★★✩✩
14 Авг 2019
1,652
409
Москва
Надо читать мануал.
Но идея смены времени таймера "на ходу" не очень хорошая. Т.е. если было изменение на АЦП, то по хорошему надо остановить таймер, изменить время, запустить таймер. Но АЦП будет дребезжать постоянно, тогда таймер совсем не сработает
 

z2z

✩✩✩✩✩✩✩
10 Фев 2020
15
0
@Старик Похабыч, посмотреть на мониторе как сильно скачут данные ацп и изменять таймер если данные изменились на большее или меньшую величину. Это решаемо)
 
Последнее редактирование:

Старик Похабыч

★★★★★✩✩
14 Авг 2019
1,652
409
Москва
Да все решаемо в жизни, вопрос сколько надо с этим заниматься любовью и стоит ли результат выеденного гроша или ломаного яйца...
 

z2z

✩✩✩✩✩✩✩
10 Фев 2020
15
0
ну, я не знаю как иначе решить вопрос подстройки прибора в полевых условиях
 

Старик Похабыч

★★★★★✩✩
14 Авг 2019
1,652
409
Москва
А, т.е. это не постоянно мониторить, а подстраивать. Ну тогда проще. Можно хоть потенциометр, хоть энкодер прикрутить. Энкодером можно менять на ходу, удобнее. Нажал, сдвинул, посчитал щелчки, понял на сколько .
С потенциометра можно считывать значение в setup и уже использовать его все время. Надо новое - крутанул, ресет по питанию и в бой
Вот у меня таки мысли первоначально возникли
 

z2z

✩✩✩✩✩✩✩
10 Фев 2020
15
0
да ну, прерывание на него тратить, ногу лишнюю использовать)
за советы и внимание- спасибо!!
 

z2z

✩✩✩✩✩✩✩
10 Фев 2020
15
0
должен быть идеальный мир, должен! в котором события происходят в тот момент, когда программа готова их обработать) в нашем же, обычном мире, программа может, например, сидеть в долгом цикле и пользователь может хоть обкрутиться энкодером, но без всякого результата.
то есть хочу сказать, что не представляю как без использования внешнего прерывания правильно обработать вращение энкодера
 

Mix_man

✩✩✩✩✩✩✩
21 Янв 2020
65
6
должен быть идеальный мир, должен! в котором события происходят в тот момент, когда программа готова их обработать) в нашем же, обычном мире, программа может, например, сидеть в долгом цикле и пользователь может хоть обкрутиться энкодером, но без всякого результата.
то есть хочу сказать, что не представляю как без использования внешнего прерывания правильно обработать вращение энкодера
смотря как ты программу организуешь.. тут я у тебя не вижу мега цикла на тыщу строк :))))
А интервал может меняться в течении лупа хоть 100 раз в 100 разных местах и ничего тупить не будет. Я сейчас пишу прогу где у меня 2 таймера и по срабатыванию АналогРиид меняется интервал без проблем.
Так что не надо усложнять там, где это не требуется.