Zitat Zitat von frabe Beitrag anzeigen
Das bedeutet, dass grundsätzlich 2 Interrupts bei einem Tastendruck kommen? Der 2te müsste irgendwie abgefangen/ingnoriert werden.
Je nach Programm. Klebwax hatte darauf ja schon geantwortet. Wenn der zweite Interrupt ignoriert werden soll: Man weiß ja normal, welche Flanke ausgewertet werden soll. In der, durch irgendeine der beiden Flanken ausgelösten ISR (es ist ja die gleiche ISR) fragt man zB das PIN-Register Bit des entsprechenden PINs ab um den Pegel des PINs zu bestimmen. Ist es gesetzt war es die steigende Flanke. Ist es rückgesetzt war es die fallende Flanke und man kann entsprechende Aktionen vorsehen.

Laut Datenblatt stehen nur PCINT0 und PCINT1 als Interrupt-Vektor zur Verfügung. Ist es das was du meinst?
Ja, für alle zwölf PCINT stehen nur zwei Interruptvektoren zur Verfügung. Mich hatten zu Anfang auch die Namen verwirrt. Man darf nicht die, in der Interruptvektor Tabelle genannten Sourcenamen mit den Namen am I/O Pin bzw Bitnamen in den PCMSK Registern verwechseln/vermischen. Es gibt nur zwei Interruptvektoren für alle zwölf PCINT-auslösefähigen PINs im ATtiny84. Das sind die PCINT0 und PCINT1 Interrupts.

Welche von den zwölf Pins einen PCINT auslösen können bestimmt man durch Setzten des entsprechenden Bits in den PCMSK Registern. Ist dort kein Bit gesetzt, findet auch kein PCINT0 oder PCINT1 statt. Die Interrupts PCINT0 bzw PCINT1 sind den PCMSK Registern fest zugeordnet. Laut Datenblatt können PA0 bis PA7 Pins mit ihren PCINT0 bis PCINT7 Bits im PCMSK0 Register nur den PCINT0 Interrupt auslösen. Die andern Pins mit ihren Bits im PCMSK1 nur den PCINT1.

Es können also durch Setzen mehrerer Bits in einem PCMSK Register mehrere PINs den gleichen Interrupt auslösen. Welcher Pin das war, könnte man dann in der ISR zB durch Zustandsabfragen der in Frage kommenden PINs feststellen.

Datenblatt-Ungenauigkeit oder PCINT2-11 über einen "Umwege" zu einer Interruptauslösung?
Datenblatt Ungenauigkeit würd ich das nicht nennen, eher unglückliche Namensgebung. Umweg? Naja, ist halt so vom Hersteller entworfen. Wenn man die richtige Anwendung noch dafür erfindet oder sogar schon hat, wär man für diese Lösung bestimmt noch dankbar

Gruß
Searcher