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.
> 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.
Umprogrammieren oder während der Unterbrechung den Zustand des Anschlusses abfragen um Festzustellen was der Auslöser war.
Ganz garantiert geht das per Timer und Input Capture. Das wurde extra für genau diese Aufgabestellung erfunden. Oliver
Daniel schrieb: > TEK00000.png ... und die Funktion "Bild 90° rechts drehen" wurde für Bilder erfunden, deren Lage nicht der Betrachtungsrichtung entspricht ...
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
Lege Dein Signal doch einfach auf zwei Eingänge, die jeweils einen entsprechenden Interrupt auslösen.
Hi Die Pins vom PortB des ATMega2561 können den Pin Change Interrupt auslösen. Der reagiert auf jede Flanke. MfG Spess
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.