Measure duration ATmega48

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Measure duration ATmega48

Сообщение Meinframe » 10 июл 2014, 14:08

День добрый форумчане! Хотел спросить, знает ли кто, как посчитать длительность импульсов с оптопары? Если сигнал подсоединён к ногам PB3, PB4. Т.е. вариант с ICP сразу отпадает, остаётся вариант с таймером или PCINT, но тут проблемка, частота проца 3.6864 МГц, частота прерывания таймера 1000,1 ГЦ в лучшем случае с предделителем 1. Просто время отсчёта нужно в секундах. А проблемка в том что я пробовал считать по PCINT и таймеру одновременно, но время получалосьь всегда в реале меньше чем секунда ...
Meinframe
 
Сообщения: 2
Зарегистрирован: 10 июл 2014, 08:14

Re: Measure duration ATmega48

Сообщение RootAdmin » 10 июл 2014, 17:23

А кто мешает в обработчике переполнения таймера инкрементировать счетчик переполнений? Отдельную переменную.
А когда нужен результат - плюсуем произведения счетчика переполнений на время таймера и значение таймера по прерыванию.
Дым, идущий из всех устройств в помещении предвещает появление электрика.
RootAdmin
 
Сообщения: 1725
Зарегистрирован: 07 авг 2010, 21:29
Откуда: КМВ
прог. языки: C
ФИО: Андрей

Re: Measure duration ATmega48

Сообщение Meinframe » 10 июл 2014, 20:45

А когда нужен результат - плюсуем произведения счетчика переполнений на время таймера и значение таймера по прерыванию.

Time = OverFlowCounter * 0.001(для тысячи прерываний в секунду)*61849(для тысячи прерываний в секунду, предделителя 1, и проца 3.6864МГц)

Хорошо, а как узнать время окончания сигнала? с началом более менее понятно, но вот с окончанием беда.
Meinframe
 
Сообщения: 2
Зарегистрирован: 10 июл 2014, 08:14

Re: Measure duration ATmega48

Сообщение dccharacter » 18 июл 2014, 04:09

Не так: OverFlowCounter * 0.001(для тысячи прерываний в секунду)*61849
А вот так: OverFlowCounter * 61849 / 1000 (для тысячи прерываний в секунду)
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей


Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17