А разве не пропустим несколько тактов, сохраняя некоторые значения в стек?
(Это не спор - это вопрос)
Число тактов будет известно и его можно добавить к общему результату …
У таймеров есть специальный механизм для этого и не надо реагировать на каждый чих - только считаем переполнения, если они будут …
Через пол секунды считываем значение из регистра захвата и с учетом переполнений высчитываем длительность …
Я о том случае, если регистрируемое событие закончится раньше, чем войдём в прерывание.
Такты аппаратные, срать они хотели на прерывания.
Для переосмысления сущности.
Аппаратные, значит выполненные в “железе”, в данном случае в недрах МК, но имеющие при этом независимые от МК регистры. МК может только настроить их режим работы, считать(сбросить) значение счета. Остальное таймер-счётчик делает сам.
По этому я и говорю - пусть таймер САМ захватывает своё состояние по импульсам на input capture
Kaktyc, в принципе вы почти описали мой вариант с небольшими поправками, я понял что других вариантов наверно не будет. Я надеялся “а вдруг….”. По поводу написать в коде, спасибо я уж сам как нибудь разберусь. Осталось дождаться моего ослика и промерять дребезги на релюшках.
а реле то есть?
Komandir, а можно поподробнее про таймер?
xDriver, да с релюхами проблем нет, есть в наличии.
вы лучше про конечную цель данного мероприятия расскажите, а то создается впечатление, что вы комплементарную пару хотите подобрать.
Это мне как раз понятно. Захват происходит без прерывания.
Я не понял, как @Kakmyc задумал , с помощью прерываний.
Надо будет ещё подумать, разобраться.
В прерывании по первому импульсу или по питанию реле - стартуем обнулённый таймер.
Ловить остальные импульсы через прерывания считаю ошибкой - можно прозевать крайний импульс уже находясь в прерывании от предпоследнего…
Перечитал тему, возможно я неправильно понял @Kakmyc-a. То что он употребляет слова RISING и FILLING не значит, что речь о прерываниях.
Сбили с толку слова ТС
Если что, приношу извинения за невнимательность.
Komandir, жаль пока не могу ориентироваться по времени дребезга. Почему считаете ошибкой по прерыванию, я ведь буду забивать по прерыванию в переменную данные с таймера по рисинг и последняя запись будет истина, ее я буду считывать скажем через 10 миллисекунд после последнего инта. Или я чегойто не понимаю? Для чего я тут зарядил тему, ребята, есть такое понятие как отсев брака, есть жесткие ГОСТы, подробности пожалуй лишни.
Воотт и пятница))
Лахматить бабушку нам тут не надо, есле реле соотв.гост остальное не ваши проблемы, если только это не академический интерес.
Не?
В ГОСТе есть понятие дребезг контактов?
Из госта: Время от момента, когда входная воздействующая величина электрического реле, находящегося в начальном состоянии, принимает в заданных условиях определенное значение, до момента, когда замкнется в первый раз замыкающий контакт.
Про дребезг ни слова. Первый раз замкнулся - время срабатывания.
скорее всего планируется закупка у китайцев за горсть пятаков, а потом провести “отсев брака” и отобрать те, что укладываются в Гост ![]()
Потому что прерывание - вещь относительно медленная. Пока вы сидите в одном прерывании, могут пролететь еще несколько фронтов и спадов
Дык я и спрашивал про “конечную цель”, партизаны мать их..
Так кто ж о таком напишет ![]()