Witam serdecznie. Mam do pinów PB[7...5] oraz pinów PA[2...1] podpięte przyciski. Piny te oczywiście konfiguruję jako wejścia z wewnętrznym podciąganiem i chciałbym zrealizować na tym sprzęcie klawiaturę obsługiwaną w przerwaniach. Ale nie chciałbym przy realizacji tego zadania wykorzystywać przerwań INT[0...1] tylko przerwania PCINT występujące na sprzęgniętych z klawiszami pinach. Z dokumentacji kontrolera wyczytałem że przerwania te aktywują się przy każdorazowej zmianie stanu na pinie na którym są uaktywnione i to jest w zasadzie jedyna możliwość jaką oferuje PCINT(no chyba ze źle zrozumiałem, jeżeli tak to proszę o wytłumaczenie idei przerwań PCINT). W moim przypadku kiedy nacisnę przycisk, to nastąpi przerwanie na zmianę stanu z 1 na 0 i przy okazji pewnie drgania zestyków wywołają jeszcze kilka takich przerwań. Kiedy puszczę klawisz, wygeneruje się kolejne przerwanie na zmianę stanu z 0 na 1 plus te nieszczęsne śmieci z zestyków. W związku z tym mam pytanie.
Jak rozwiązać programowo obsługę tych klawiszy w przerwaniach PCINT:
1. Aby kontroler obsługiwał klawiaturę tylko wtedy gdy się jej użyje, a nie cyklicznie?
2. Aby poprawnie wykryć moment naciśnięcia klawisza, odfiltrować drgania zestyków?
Za wszystkie sugestie i przykłay serdecznie dziękuję
Jak rozwiązać programowo obsługę tych klawiszy w przerwaniach PCINT:
1. Aby kontroler obsługiwał klawiaturę tylko wtedy gdy się jej użyje, a nie cyklicznie?
2. Aby poprawnie wykryć moment naciśnięcia klawisza, odfiltrować drgania zestyków?
Za wszystkie sugestie i przykłay serdecznie dziękuję