Forum: Mikrocontroller und Digitale Elektronik Interrupt soll bei fallender und steigender Flanke auslösen


von Daniel (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich möchte, mit dem ATMega2561, per Interrupt über einen Counter die 
Länge eines Signals von der fallenden bis zur steigenden Flanke messen. 
Die Reaktion auf beide Flanken einzustellen ist kein Problem.

Meine Problem ist folgendes:
Kann man den Interrupt auf beide Flanken reagieren lassen aber festlegen 
das garantiert zuerst auf die fallende und dann auf die steigende Flanke 
reagiert wird?

Im Bild geht es um den grünen Verlauf. Bei diesem soll nur das 
Low-Signal ausgezählt werden aber nicht das High.

von MaWin (Gast)


Lesenswert?

> Kann man den Interrupt auf beide Flanken reagieren lassen

Du kannst innerhalb der Interruptroutine, also direkt nach dem er die 
eine Flanke erkannt hat, die Flanke umprogrammieren.

von Amateur (Gast)


Lesenswert?

Umprogrammieren oder während der Unterbrechung den Zustand des 
Anschlusses abfragen um Festzustellen was der Auslöser war.

von Oliver (Gast)


Lesenswert?

Ganz garantiert geht das per Timer und Input Capture. Das wurde extra 
für genau diese Aufgabestellung erfunden.

Oliver

von Wolfgang (Gast)


Lesenswert?

Daniel schrieb:
> TEK00000.png

... und die Funktion "Bild 90° rechts drehen" wurde für Bilder erfunden, 
deren Lage nicht der Betrachtungsrichtung entspricht ...

von spess53 (Gast)


Lesenswert?

Hi

>Ganz garantiert geht das per Timer und Input Capture. Das wurde extra
>für genau diese Aufgabestellung erfunden.

Nein. Für diese Aufgabenstellung muss auch das Input Capture Edge Select 
Bit nach der ersten Flanke umprogrammiert werden.

MfG Spess

von tztztztz (Gast)


Lesenswert?

Lege Dein Signal doch einfach auf zwei Eingänge, die jeweils einen 
entsprechenden Interrupt auslösen.

von spess53 (Gast)


Lesenswert?

Hi

Die Pins vom PortB des ATMega2561 können den Pin Change Interrupt 
auslösen. Der reagiert auf jede Flanke.

MfG Spess

von Daniel (Gast)


Lesenswert?

Amateur schrieb:
> Umprogrammieren oder während der Unterbrechung den Zustand des
> Anschlusses abfragen um Festzustellen was der Auslöser war.

Danke ich werds gleich mal versuchen den Zustand des Pins abzufragen.

Andere Pins kann ich leider nicht verwenden, da mein Mikrochip fest 
verlötet ist.

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
Noch kein Account? Hier anmelden.