Zitat Zitat von frabe Beitrag anzeigen
Wo siehst du den Vorteil gegenüber einem PortChange-Interrupt ?
Der Timer-I. würde alle ca.10ms aktiv werden, obwohl Sek, Min oder Std nichts passiert.
Weil Tasten nun mal prellen.

Zitat Zitat von frabe Beitrag anzeigen
...warum dieser Aufwand?
In deinem chPINA stehen doch alle Pin-Änderungen. Danach müssten die entsprechenden Bits PA2-PA5 auf 1 ausgewertet werden. Habe ich hier irgend etwas übersehen?
Weil man bei Tasten auf Drücken und Loslassen üblicherweise unterschiedlich reagiert. Das chPINA zeigt beides an. Auch auf PCs findest Du genau diese vom Betriebssystem bereitgestellten Funktionen KeyDown()/KeyUp(). Warum also das Rad neu erfinden?