Arduino Due Interrupt

OP #3971949
Lesenswert?
• ▲
▼
Hallo zusammen,

ich programiere zurzeit mit arduino due und ist mir jetzt einen problem 
begegnet.

Ich erzeuge mit meinem code einen 250 KHz rechteck signal, dieses signal 
wird jetzt mit DAU (DAC0) zu einem CAN Transceiver elektrisch gesendet 
und
mit einem digitalen pin von dem arduino due board empfangen.
Auf dem Oscilloscope wird das Tastverhältnis von dem empfangenen signal 
von 250 KHz nicht mehr 50% High und 50% Low.
Das Problem tritt auf nur wenn ich einen Interrupt Service Routine im 
code schreibe,die mir die Äderung des Pegels von High zu Low abfragt.

Kann mir jemanden helfen.
Gast #3972160
Lesenswert?
• ▲
▼
Krimo Eniba schrieb:
> Ich habe eine externe rechtecksignal, der ich nach seiner flanke
> abfragen will, deswegen verwende ich einen Interrupt pin.
> Wie schafft man das ohne Interrupt?

Einen Interrupt brauchst du trotzdem, um auf die andere Flanke 
umzuschalten und um das Ergebnis zu sichern.

Vielleicht hilft dir dieses Beispiel
https://gist.github.com/billroy/4032657

In initTimer() wird der Timer erstmal für InputCapture auf fallende 
Flanke konfiguriert. Immer nachdem ein Capture Event eingetreten ist, 
wird in ISR(TIMER1_CAPT_vect) die Zeit aus ICR1L und ICR1H ausgelesen, 
der Timer auf die Flanke umkonfiguriert und eventuelle Timer Überläufe 
hinzuaddiert. Das Beispiel ist durch die zusätzliche Verwendung des 
Ringpuffers event_buffer[] etwas länger, aber das Prinzip sollte klar 
werden.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.