Господа, задача для меня сложновата, подмогните примером кода.
ATMega16, кварц 16 МГц.
Нужно генерировать импульсы длиной от 800 мкс до 2000 мкс, период, независимо от длительности импульса должен составлять ровно 20 000 мкс.
В наличии свободные выходы микросхемы OC1A, OC1B, OC2, подойдет любой из них. Есть еще OC0, но использовать его нежелательно, дорожка к нему не разведена, а устройство уже собрано.
Только CodeVision.
Спасибо.
КРоме того, нужно по таймеру (3 раза в секунду) однократно измерять период импульсов (скажем от фронта до фронта), поступившими на INT0 (или INT1), хотя бы в тиках таймера, остальное я сам посчитаю. Ожидаемая длительность импульса не менее 500 мкс, если же длительность импульса превышает величину в пределах 100 мс, нужно прервать измерение..
Только CodeVision.
Спасибо.
Если период постоянный, то получается чистый шим. Шим в атмеге генерится аппаратно, читайте дейташит.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.