Problem mit Interrupts - Quelltext

Gast #1704251
Lesenswert?
• ▲
▼
Im Anhang der relevante Teil des momentanen Quelltexts.

Das ursprüngliche Problem scheint gelöst zu sein...

Auch bei ausgeschaltetem Comparematch wird das Flag OCF1A gesetzt, bei 
erneutem einschalten des Comparematch kann der Interrupt dann evtl. 
direkt ausgelöst werden.

Nun funktioniert soweit alles, allerdings nur mit einer fest 
eingestellen Strobetime (490 = ~ 61.25 µS bei 8Mhz und Prescaler 1). 
Schreibe ich die zuvor ermittelte Strobetime in OCR1A wird der Interrupt 
viel zu früh ausgelöst (ermittelt mit Logic Analyzer), wobei es bei den 
ersten 2-3 Datenpaketen noch richtig funktioniert, danach aber nicht 
mehr.

Der ermittelte Wert liegt aber eben in diesem Bereich (490), auch dann 
wenn es nicht mehr funktioniert.

Da die strobeTime sich aber mit der Temperatur ändern kann funktioniert 
das nat. nur für einen bestimmten Temperaturbereich, deswegen wärs gut 
wenn ich das auch noch hinbekomme.

Die Zeit mit Inputcapture zu ermitteln wäre sicherlich auch nicht 
schlecht, allerdings bin ich da ja an einen festen Pin (zb ICP1) 
gebunden. Dort habe ich dann wiederum keine Edge-Interrupts für das 
samplen der Bits. Die Interruptsreaktionszeit wird sich allerdings in 
einem ziemlich engen Rahmen bewegen, daher kann man sie auch ermitteln 
und dann von der Strobetime abziehen.
Angehängte Dateien:

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.