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.
argh, das sollte eine Antwort in einem anderen Thread sein. Diesen Thread bitte löschen..
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.