Страница 1 из 3

Частотомер на attiny24

СообщениеДобавлено: 11 апр 2018, 11:25
Mals
Нужен частотомер до 2 МГц. Нашел на форуме пример для пиков с вставками на Си. Попробовал сделать на авр без вставок, но показания не точные. Почему?

Re: Частотомер на attiny24

СообщениеДобавлено: 12 апр 2018, 15:28
pav13
насколько я понял это происходит потому, что delay_s(1); не лучший способ отсчитать одну секунду.

Re: Частотомер на attiny24

СообщениеДобавлено: 14 апр 2018, 06:08
Андрей
Измерять напрямую такие частоты контроллер уже не сможет, хотя я видел достаточно точные частотомеры на AVR и PIC с частотой до 50 мгц. Но там применяются другие алгоритмы измерения, достаточно доходчиво эти принципы описаны здесь http://avr.ru/ready/signal/sense/chastotomer

Re: Частотомер на attiny24

СообщениеДобавлено: 14 апр 2018, 10:23
Mals
Вот на пике, пример с форума

Re: Частотомер на attiny24

СообщениеДобавлено: 16 апр 2018, 08:01
mim
Mals писал(а):Вот на пике, пример с форума

Это не пример с форума...
Это кастрированная тобой программа - из одной версии в другую, с потерей всех прибамбас...
Внутри примера (и в теме) были все комментарии которые определяли всю функциональность программы. Над комментариями нужно думать. Нельзя брать примеры и тупо повторять - не читая (не изучая) то, что к ним было мной написано... Тем более нельзя бездумно функционал одной платформы перекладывать (PIC) на другую (AVR).

Re: Частотомер на attiny24

СообщениеДобавлено: 22 апр 2018, 12:05
Mals
Ну вот оригинальный пример с форума.Все что я понял
Регистр option_reg = 0b00100111
7 бит: 0 - подтягивающие резисторы на входах PORTB включены;
6 бит: 0 - прерывания по заднему фронту сигнала внешнего прерывания INT;
5 бит: 1 - внешний тактовый сигнал с вывода TOCKI;
4 бит: 0 - приращение по переднему фронту сигнала на выводе TOCKI;
3 бит: 0 - предделитель включён перед TMR0;
биты 2-0: 111 - коэффициент деления предделителя 1:256 для TMR0.
Если предделитель включён перед TMR0, то предделитель асинхронный, т.е. независим от тактов мк. Его значение нельзя прочитать. Запись в регистр TMR0 сбрасывает предделитель. Вообще первый раз касаюсь этих всех регисторов и битов, а тем более пиков, только кубики рисовал для авр. У авр нет такого предделителя, только синхронный или как?

Re: Частотомер на attiny24

СообщениеДобавлено: 22 апр 2018, 21:28
Mals
Пока додумался так сделать. Подсчет импульсов на TMR1, а отсчет времени измерения на TMR0.Считаю количество переполнений таймера*65536 + то, что остается в регистре TCNT1.

Re: Частотомер на attiny24

СообщениеДобавлено: 25 апр 2018, 06:35
mim
Ну, теперь похоже что уже созрел... Хорошо бы выдрать как следует (что бы закрепилось), и написать настоящую программу..., а не поделку...

Re: Частотомер на attiny24

СообщениеДобавлено: 25 апр 2018, 06:50
Mals
mim, что ты имеешь в виду?

Re: Частотомер на attiny24

СообщениеДобавлено: 25 апр 2018, 06:56
mim
Mals писал(а):что ты имеешь в виду?
Как в том анекдоте, а что имею, то и введу... если согласен...

ЗЫ, плохо написана... понятий нет...