ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
7 июля
200583 Топик полностью
Ксения (05.07.2010 23:18, просмотров: 108) ответил Андрей на Непредсказуемое поведение МК.
Когда на входе случайные экстра-испульсы или дребезг, делают программную временную задержку. Например, при изменении состояния на входе не сразу реагируют, а вместо этого запускают таймер на какое-то время задержки. Как только время задержки истечет, то по прерыванию от таймера производт реагирование. А если входной сигнал не удержался и изменил свое состояние до истечения времени задерки, то таймер останавлявают. Если реакция допустима медленная (типа переключения реле) и лишние милисекунды роли не играют, то можно сделать совсем просто: по таймеру переодически опрашивать вход(ы), и если уровень активен, то инкрементировать значение счетчика(ов), иначе - сбрасывать соотвествующий счетчик(и) в нуль. Реакция производится при достижении счетчиком порогового значения (проверять можно прямо в процедуре обработки прерываний от таймера). Получится так, что реакция произойдет только тогда, когда активное состояние входа продержится втечение N-го числа периодов таймера подряд. Здесь время задержки будет равно произведению периода таймера на величину порога счетчика.