Ви не увійшли.
Сторінки 1
Привет всем. С ардуино дружу давно, а вот с полноценным програмированием, как таковым, не сложилось. По этому решил спросить у знающих.
Есть один проект, в котором в Main работает ШИМ, а в фоне надо мерять частоту (в пределах1-2кГц). При том точно. Тут все понятно, мне прямая дорога к таймерам, которых в мега328 аж 3шт. Хватает с головой, первый оставляем как есть для analogWrite(), а на 2х других хочу собрать собственно частотомер. Идея следующая: один надо настроить на подсчет импульсов на пине, а вторым задавать интервал, в течении которого первый щитает импульсы.
Теперь сам вопрос: как для этих целей настроить оба таймера и будут ли они вообще так работать?
Другой вариант, как настроить следующее: в Main вызываем макрос в котором 2 преривания: первое устанавливает интервал счета; второе- щитает n++ по импульсу на ноге в течении этого интервала?
Пробовал игратся с TimerOne- он работает, а вот внешнее преривание в макросе не хочет запускатся.
Какой вариант будет более точен и практичен?
Неактивний
Ну, первое прерывание не нужно, надо просто сконфигурировать таймер так, чтобы он работал от "внешних часов" и считать Ваш измеряемый сигнал "внешними часами".
Что касается второго прерывания (времени измерения) - зависит от требуемой точности, если надо поточнее, то - да, таймер, если не критично, то хватит millis и micros.
Какие инревалы измерений Вас интересуют и сколько ожидается тиков за интервал?
Неактивний
Сторінки 1