Hallo liebe Gemeinde, ich möchte bei einem ATmega644 den PCINT3 benutzen. Also meine Signale kommen auf Port D an. Die Signale sollen einen Interrupt auslösen, wenn an einem der Eingänge eine fallende Flanke auftritt. Wie ich hier gelernt habe, habe ich erst mal danach gesucht. Leider ohne brauchbares Ergebnis. Auch die Lektüre des Datenblattes brachte mich nicht weiter. Auf Seite 60f. wird erklärt, wie man die Flanken über ISC21, ISC20 – ISC00, ISC00 für PCINT0 bis PCINT2 einstellen kann. Völlig offen bleibt jedoch, wie dies für den PCINT3 einzustellen ist. Auf welche Flanke oder welches Potential reagiert der PCINT3? Wie kann ich die fallende Flanke einstellen? Gruß Guido
Guido Scheidat schrieb: > Auf Seite > 60f. wird erklärt, wie man die Flanken über ISC21, ISC20 – ISC00, ISC00 > für PCINT0 bis PCINT2 einstellen kan Du verwechselst da wohl gerade die 'normalen' Interrupts mit den PinChange-Interrupts...
Guido Scheidat schrieb: > Wie kann ich die fallende Flanke > einstellen? Garnicht. Pin-Change heißt, beide Flanken. Du mußt das in Software lösen
1 | neu = PIND; |
2 | fallend = alt & ~neu; |
3 | alt = neu; |
Peter
Guido Scheidat schrieb: > Wie kann ich die fallende Flanke > einstellen? Gar nicht. Interrupt nur bei fallender (oder nur bei steigender) Flanke geht nur auf den "External Interrupts INT2:0". Alle anderen reagieren immer auf jeden Flankenwechsel. Da bleibt dir nichts anderes übrig, als in der ISR selber auszuwerten, ob das jetzt eine fallende oder steigende Flanke war. Oliver
Ah! Jetzt habe ich begriffen. EICRA – External Interrupt Control Register A bezieht sich ja auf die externen Interrupts. Bei den Pin change Interrupts kann ich ja nie die Flanke einstellen. Ich kann nur die Pins maskieren. Das hat mir sehr weiter geholfen - DANKE!
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.