Nein, Du irrst nicht! Der Unterschied ist ganz einfach der, dass der externe Interrupt INT0 (bei anderen Controllern gibt´s auch noch INT1 und z.T. INT2) auf 5 verschiedene Auslösebedingungen konfiguriert werden kann: Steigende Flanke, fallende Flanke, jede Flanke, High-Pegel und Low-Pegel.int0 gibt es nur auf pb1. gut
wie aber unterscheidet der sich vom pcint am pb1? beide können doch mit fallender oder steigender flanke den interrupt auslösen oder irre ich hier?
Die PinChange-Interrupts (PCINT0-5) können - wie der Name schon sagt - nur von einem Flankenwechsel ausgelöst werden, und zwar unabhängig von der Richtung des Wechsels. Jede Änderung des logischen Pegel löst den Interrupt aus (natürlich nur, wenn der entsprechende Interrupt freigegeben ist).
PCINTs können aber auch nur für fallende Flanken verwendet werden, wenn Du in der Interrupt-Routine die steigenden Flanken "ausmistest", etwa so (für PCINT0 über PinB0):
PCINT_ISR:
If Pinb.0=0 then
..... (was auch immer getan werden soll)
.....
End if
Return
Die andere Sache wäre was für den Analog-Digital-Converter (ADC) - hast Du Dich mit dem schon mal auseinandergesetzt?
Lesezeichen