Hallo! Frage zu externen Interrupts: Wo ist der Unterschied zwischen "External Interrupt Request" und "Pin Change Interrupt Request" (hier: am Atmega 644A) wenn sich doch beide so einstellen lassen, dass bei jedem Pegelwechsel die ISR ausgelöst wird?!
Hi, PinChange -wie der Name sagt- bei jedem Wechsel von Hi auf Lo und umgekehrt, per Hardware nicht weiter konfigurierbar INTx: Konfigurierbar auf steigende oder Fallende Flanke, LowLevel oder jeden Wechsel von Hi auf Lo oder umgekehrt. D.h. IntX = PinChange plus noch weitere Konfigurationen, die PinChange nicht bietet. Gruss, Heinz
katastrophenheinz schrieb: > Hi, > > PinChange -wie der Name sagt- bei jedem Wechsel von Hi auf Lo und > umgekehrt, per Hardware nicht weiter konfigurierbar > INTx: Konfigurierbar auf steigende oder Fallende Flanke, LowLevel oder > jeden Wechsel von Hi auf Lo oder umgekehrt. > > D.h. IntX = PinChange plus noch weitere Konfigurationen, die PinChange > nicht bietet. > > Gruss, Heinz ... und wie gut, dass man hier fragen kann, weil so was 'ja gar nicht im Datenblatt steht'. Mittlerweile verstehe ich einige hier immer besser und bewundere die unendliche Geduld.
... und bei PinChange immer nur ein Interrupt für max. 8 mögliche I/O-Pins und nicht wie bei IntX ein dedizierter Interrupt je I/O-Pin.
Zusätzlich hat jeder Int einen eigene ISR, bei den PCIs werden diese immer groupiert d.h. bis zu acht PCIs teilen sich eine ISR und du mußt noch raus finden welcher Pin es den wirklich war. Für schnelle Anwendungen damit deutlich schlechter geeignet.
@ Stephan Deine Frage ist begründet. Wenn auch INT auf Änderungen reagiert, dann wäre auch hier "Pin Change" durchaus angebracht. Aber... Man darf, in der Regel, die Bezeichnungen nicht auf die Goldwaage legen. Die Datenblattschreiber sind ein der Regel Ingenieure (oder, noch schlimmer Marketing-Stellwand-Stall-Häschen) und keine belesenen, wortschöpferischen Literaten. Irgendwann geht denen einfach der Wortschatz aus oder die Zeit. Maßgebend ist immer die funktionale Definition, nicht das Bepperl.
Teilweise ist das auch (wie viele Unregelmäßigkeiten in technischen Standards) historisch bedingt. Die frühen AVRs hatten erstmal nur einen oder zwei INT-Pins. Irgendwann hat dann mal jemand gefragt, wieso man nicht jeden Portpin als Interrupteingang nehmen kann, bei anderen Controllern geht das doch auch und heißt da "pin change interrupt". Also wurde das als neues Feature eingebaut, aber die alten Interrupt-Pins hat man gelassen wie sie waren, damit sich nicht jemand wegen fehlender Rückwärtskompatibilität beschwert.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.