Включить и выключить таймер (ардуино нано)

здравствуйте !

имеется Arduino Nano . Вопрос -
как запустить 16 разрядный таймер , если на ноге 1 , и выключить его если на ноге 0 .
потом вынуть из таймера данный.
прогуглил массу страниц но все найденные примеры нашел только на прерываниях от переполнения таймера.

а какие “данный” ты хочешь из таймера “вынуть”?

1 лайк

Есть команда запуска таймера - запись отличного от нуля коэффициента деления в регистр таймера. Если писать туда 0 таймер остановиться. Теперь можно прочитать счётчик и обнулить его. И начать заново ждать единицу на входе.

то есть нужно постоянно копировать состояние ноги в регистр управления ?
а както аппаратно это можно решить ?

  1. Если на ноге 1, включаем таймер
  2. Если на ноге 0, выключаем.

Большого человеческого спасибо я не достоен. Так что хотя бы 1000р на карту будет достаточно.

Простите, кто на ком стоял? Потрудитесь выражаться яснее.

сходи на форум Ника Гаммона, почитай про таймеры, это всяко лучше чем мультики от гайвера смотреть.

2 лайка

Человек(а может и ИИ, кто ж сейчас разберёт) не может по-русски сформулировать, а его ещё и на англоязычный форум. Это мягкий посыл?:smile:

Ааа! Понял! Он имеет ввиду режим захвата по внешнему сигналу. Надо засеч время От и До и прочитать ICR.

1 лайк

если у него хотя бы двузначный IQ, то он может прям на сайте перевести

2 лайка

//узнаю брата Колю !!!

вот именно так и надо по внешнему сигналу аппаратно запустить таймер 16 битный и потом его прочесть после нуля на ноге.
то есть банальное измерение ширины сигнала.
на логике это делается просто а вот как на ардуине пока неведомо

ваш вариант не подходит . он использует библиотеку millis

Чотаржу.

2 лайка

Читайте про режим input capture - он именно для этого и придуман

3 лайка

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

Вообще то, сначала нужно знать какова максимальная длительность этой самой единицы на ноге, затем какая нужна точность измерения.

А это как раз нам и не сказали. Так что число от 1 до 5 придётся выбирать ТС под свои нужды.

А Вы не пробовали, сначала читать статьи, которые Вам рекомендуют, а уж только потом обсуждать их заявлениями типа

Попробуйте. Бог даст, будете выглядеть не так глупо, как сейчас.

1 лайк

Если много будете знать, холлопы, пропадёт пятница.

1 лайк

Да уж… Видать спугнули. Брата Коли.

чеж вас пугаться то ? обычной форум . на один дельный ответ - 10 флуда .