Ralf B. schrieb:
> Ich hab jetzt mal ein
>
>
>
1 | > PCIFR |= (1 << PCIF2); // PCIF2: Pin change interrupt flag
|
2 | > 2 cleared ( writing a logical one )
|
3 | >
|
Mit einer Read-Modify-Write-Operation löscht du alle Flags, auch die,
die nicht gelöscht werden sollen. Ist in diesem Fall zwar nicht relevant
aber grundsätzlich werden die Flags mit
gelöscht.
> vor jedem dem aktivieren und in der ISR des Pin Change Interrups
> eingefügt. Keine andere Reaktion. Immer noch das gleiche verhalten.
Du gehst recht intensiv mit dem Löschen und Setzen von Interrupt Enables
zur Sache, inkl. cli und sei. Sowie dem Löschen der zugehörigen Flags.
Wahrscheinlich kommt das was durcheinander.
> ATMega168 defekt?
Die eher unwahrscheinliche Option. Teste das mit einem kleinen
Progrämmchen, das nichts anderes macht als PCINT, einfach aus.
mfg.