Свежие обсуждения
Микроконтроллеры

Как измерить ШИМ поступающий на Atmega ? Период и ширину импульсов.

1 3

Как измерить ШИМ поступающий на Atmega ? Период и ширину импульсов. Наверно нужно захват в таймере использовать, но пока не понял как это делается.

 

Каков диапазон шим и какая точность нужна?

 

Нужен просто принцип в виде кода для широкого диапазона периодов и значений. Точность микросекунда наверно, а может и пара. Т.е. в результате в двух переменных должны оказывать длина "1" и период.

 

Просто принцип очень простой: ждёте появления фронта, засекаете время t1, затем ждёте появления спада, засекаете время t2, опять ждёте фронт, засекаете время t3. Разница t3-t1 даст вам период, кладёте в одну переменную, разница t2-t1 даст длительность импульса, кладёте в другую переменную.

"Принцип в виде кода" вам придётся написать самому, тут раздают удочки, а не рыбу.

 

Да это, наверное, 123
Сейчас другая его копия ссылку даст самы знаете куда
Ну или это у меня уже параноя....

 

GM, вы вопрос до конца дочитали ?

 

To Apc
Ну тогда пусть даст ссылку на код для измерения от 50 нс до 1 с для голой атмеги с клоком 20 МГц, посмотрим, какой он Сухов(С).

To Novikus
Ваш-то вопрос я дочитал до конца, а вот вы-то мой ответ поняли?

Novikus, ещё вот вам информация к размышлению, я могу измерять периоды с точностью до 3 нс на той же атмеге (с небольшой обвязкой).

 

Мне не нужна такая точность, мне нужен пример как с модулем захвата в ATmega работать - об этом написано в конце вопроса. С английским я не очень поэтому чтение даташита трудновато.

 

Вот здесь посмотрите. И английский учите, пригодится.

 

Бадались, бадались а вывода нету. Кода на Си и подавно.