AVR 30# Таймер, режим захвата.
HTML-код
- Опубликовано: 4 мар 2021
- На примере Atmega8 разбираемся с режимом захвата таймера 1, решаем простую задачу.
Проект из ролика disk.yandex.ru/d/VGXdpReMCDRkig
На орехи yoomoney.ru/to/4100115257108062
все ролики серии • Программируем микрокон... Наука
Очень класные уроки. Вы обесняете очень харашо, все разбираемо. Спасибо за то что делете. Инфармация очень палезная.
Хоть благодаря Вам поняла, что поставленная начальником мне задача просто невыполнима 😆 Он просто издевается надо мной!😆
Спасибо за уроки.
8:40 - не просто по фронту, а по положительному фронту, перепад с 0 на 1 ))
Фронт - переход лог. сигнала из одного состояния в другое, передний фронт, задний фронт, нарастание, спадание, ну и т.д...
Спасибо.
спасибо..
Можно ли в бесконечном цикле функции main осуществлять проверку регистра TCNT1 на соответствие 65535, чтобы измерять периоды много большие, чем указано в примерах?
конечно можно
@@andreyfrolov301 попробовал вот так "while (1)
{
a=TCNT1;
if (a==65535)
{
n=n+1;
}
seconds=n*65535+period;
} " все регистры таймера выставлены как у вас, но n не изменяется, кажется, что регистр TCNT1 надо читать как-то по-другому, так ли это?
@@kirillpitolin1046 вам нужно понять, что таймер тикает в одном месте, а совсем в другом тикает счетчик инструкций
и ваше условие выполнится когда совпадет два события - в счетчике будет 65535 и в этот же такт таймера сработают инструкции записи счетчика в переменную а
это очень маловероятно :)
@@andreyfrolov301 Спасибо, вроде более менее реализовал через второй таймер)
Можно ли сказать что ICNC это защита от дребезга? Для кнопки например
для кнопки врядли, 4-ри такта это маловато, но я этот режим особо не использовал точно не скажу.
так можно и частотомер собрать.