Steigende und Fallende Flanke Abfangen bei dem gleichen Pin

Gast #897525
Lesenswert?
• ▲
▼
Hallo,

Bin ich AVR Anfänger (Mit ATmega128). Möchte ich bei dem gleichen Pin 
zuerst fallende Flanke abfangen (und was zu tun). Danach auch steigende 
Flanke (und auch was andere zu tun) usw. (Es ist ein Zyklus.)
Hier brauche ich eigentlich 2 Externel Vector. Wie sieht für diesen Fall 
Source Code aus?

Vielen Dank!!
Gast #897542
Lesenswert?
• ▲
▼
Ich antworte mal als absoluter Laie:

Nachdem die erste Flanke erkannt wurde, mit dem Interrupt die Routine 
für die Flankenauswertung des Portpins abändern bzw. einfach toggeln 
lassen.

So ändert sich bei jeder Flankenänderung auch die Auslösung des 
Interrupts, der eine Portpin reagiert somit auf die steigende und 
fallende Flanke.

Ein Beispiel kann ich leider nicht geben, aber das Prinzip sollte 
funktionieren.

MFG
Marco
#897570
Lesenswert?
• ▲
▼
Ju wrote:
> Ich muss die "steigende" und "fallende" Fälle unterscheiden.
Wenn gewährleistet ist, dass zwischen zwei Flanken genug Zeit vergeht, 
dann ist es doch kein Problem, im Interrupt Handler den Zustand des Pins 
abzufragen. Dann weißt Du auch, ob es eine steigende oder eine fallende 
Flanke gewesen ist.
#897601
Lesenswert?
• ▲
▼
Ju wrote:
> Das Problem ist, habe ich bei Hardware Design schon INT1 ausgewählt. :)
> Deswegen gibt es jetzt schon zuviel Arbeit für mich, wenn ich jetzt die
> Pin wechseln.
Dann musste den Interrupt eben auf eine Flanke konfigurieren (die 
ISC-Bits entsprechend setzen) und im Interrupt Handler jeweils die 
Flankenrichtung umschalten. Hat sogar den Vorteil, dass Du den Pin nicht 
zusätzlich noch mal einlesen musst.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren