Hallo, ich wusste nicht genau wie ich das Thema im Betreff beschreiben soll. Ich messe momentan eine Frequenz mit Timer2 Interrupten. Dazu nehme ich die Zeiten der Positiven Flanken über den Timer 2 auf. Ich möchte nun einen weiteren Timer (Timer_4), der mir nach jeder Flanke zeitverzögert eine Aktion ausführt, in dem er in seine ISR springt. Timer_4 ist höher priorisiert als Timer_2 und darf diesen somit unterbrechen. Sprich: Flanke kommt und z.B. 500 ms später geht eine LED an, nächste Flanke kommt und 500 = ms später geht die LED wieder aus. Ich arbeite allerdings mit wesentlich kürzeren Zeiten und die Aktionen betreffen keine LED. Daher möchte ich eine hohe Genauigkeit erreichen. Das Problem ist nun folgendes: Wenn ich mit Timer_2 die Zeit aufnehme, und mit Timer 4 einen zeitverzögerten Interrupt auslösen möchte. Wie bekomme ich die Startzeit von Timer 4 zum Interruptzeitpunkt, so dass ich den neuen Comparewert dort eintragen kann. Mir fallen momentan nur folgende Dinge dazu ein: 1. Ansteuern beider Interruptpins so dass beide Werte im Interrupt gleichzeitig aufgenommen werden. 2. ein Getcounter beim Start der Timer2 ISR, was ich aber für eine Schlechte Lösung halte, da schon während des Aufrufes Zeit vergeht und zusätzliche Verfälschungen auftreten können wenn mir Timer_4 dort zufällig rein springt. 3. Vielleicht gibt es eine Methode den Timer_4 Wert beim Aufruf des Timer_2 mit zu speichern oder beide Timer zu syncronisieren oder sie sind schon Syncronisiert? Es handelt sich hier um einen STM32F107VC Controller.
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.