Частотомер без прерываний
- Войдите на сайт для отправки комментариев
Вс, 19/03/2017 - 23:46
Доброго времени суток! Столкнулся с проблемой, нужно не используя прерывания получить частоту сигнала на пине ардуины (от 0 до 5000 Гц). Может у кого есть кусочек кода))) что бы заново не изобретать велосипед...
Ищите библу freqcounter
ЗЫ. Хотя прерывание таймера там всё равно используется...
По точности больше подходит FreqMeasure в нужном диапазоне
Однако "FreqMeasure requires the input frequency as a digital level signal on a specific pin" накладывает ограничение на исползуемые пины, что не есть хорошо в моем случае
таймер можно использовать, а прерывания нет
Если проблема в получении цифрового уровня, то добавьте какой-нибудь простой усилитель-формирователь, на одном транзисторе...
Про точность вы ничего не указывали, равно как и про "пин"-ограничения...
Библы, кроме freqmeasure - freqcounter, freqcount
Вот перевод с http://forum.arduino.cc по поводу всех этих библиотек
"Это означает, что ни один из ШИМ-выводов на Uno не будет работать, пока вы измеряете частоту.
Если частота, которую вы хотите измерить, меньше, чем около 10 кГц, существуют другие способы измерения, которые принимают только один таймер или даже таймеры вообще".
Т.е. как раз почему я и не хочу. точнее не могу использовать прерывания.
Интересуют "другие способы измерения".
Проблем с уровнем сигнало нет.
вот нашел тут на форуме ветку http://arduino.ru/forum/programmirovanie/takhometr-1
а в ней код. но судя по всему не до конца рабочий
"версия кода действительно считает нажатия, проблема в том, что она не перестаёт считать их по прошествии одной секунды. Что можно исправить, подскажите?"