Zitat Zitat von frabe Beitrag anzeigen
Wo ist denn der grundsätzliche Unterschied zw. INT0 und PCINT10, beides auf PB2 (Pin5) ?
INT0 kann auf verschiedene Arten ausgelöst werden. zB steigende oder fallende Flanke und andere. Konfiguriert wird das im MCUCR mit den ISC00 und ISC01 Bits.

PCINT10 wird bei steigender und bei fallender Flanke ausgelöst. Das kann nicht konfiguriert werden, sondern ist so festgelegt. Damit PCINT10 funktioniert, muß er im PCMSK1 Register mit dem PCINT10 Bit selektiert werden. Der I/O Pin kann dann über das PCIF1 Flag im GIFR Register den Pin Change Interrupt 1 auslösen. PCINT10 selbst hat keinen Interruptvektor sondern springt durch das Selektieren im PCMSK1 über den Pin Change Interrupt 1 (Interruptvektor 4) in die ISR.

Beide, Pin Change Interrupt 1 und INT0, müssen im GIMSK Register zugelassen (enabled) werden.

Wird doch beides mit MCUCR und GICR konfiguriert und eingeschaltet?
Nein. Im MCUCR wird nur die Auslösebedingung für den INT0 festgelegt. Ein GICR gibt es im ATTiny84 nicht. Im GIFR wird nicht konfiguriert sondern eventuell die Interrupt Flags abgefragt oder gelöscht.

Gruß
Searcher