имеется Arduino Nano . Вопрос -
как запустить 16 разрядный таймер , если на ноге 1 , и выключить его если на ноге 0 .
потом вынуть из таймера данный.
прогуглил массу страниц но все найденные примеры нашел только на прерываниях от переполнения таймера.
Есть команда запуска таймера - запись отличного от нуля коэффициента деления в регистр таймера. Если писать туда 0 таймер остановиться. Теперь можно прочитать счётчик и обнулить его. И начать заново ждать единицу на входе.
вот именно так и надо по внешнему сигналу аппаратно запустить таймер 16 битный и потом его прочесть после нуля на ноге.
то есть банальное измерение ширины сигнала.
на логике это делается просто а вот как на ардуине пока неведомо
Объясни - может я как то не понятно написал? Расширю алгоритм.
Стоишь ждёшь единицу на ноге. Пришла 1 пишешь в регистр TCCR1B число делителя от 1 до 5, Стоишь ждёшь 0 на ноге. По приходу пишешь 0 в TCCR1B, считываешь TCNT1L TCNT1Н, Пишешь в них нули. Идёшь снова ждать единицу.