|
1. Схемная реализация: отсутствие емкости на кнопке, защитных диодов, фильтрующих цепей по входным сигналам, "висящие в воздухе" неиспользуемые выводы.
2. Реализация подпрограммы обработки прерывания от pin change. Мелкочип рекомендует сначала прочитать порт, а потом сбросить флаг этого прерывания. Можно попробовать сделать небольшую задержку на 5...10 uS и прочитать порт еще раз и сравнить с предидущим чтением, потом то же самое еще раз. Дальнейшие действия по желанию, в зависимости от результатов тройной "пробы порта". Если в течении трех замеров значение пина не изменилось, можно считать, что кнопка нажата, если пин менял свое значение , то обязательно отрабатываем дребезг. Но надежнее всего, если нет необходимости в быстрой реакции на pin cange, обрабатывать дребезг всегда.
3. Модификация битов регистра порта командами read-modify-write.
4. Ошибки при работе с банками GPR, если пишите на ассемблере.
E-mail: info@telesys.ru