STM32 Timer verzögerter Interrupt

Gast #7213081
Lesenswert?

Hi,

Hab gerde das Problem das ich nicht so richtig weis wie ich das lösen 
kann.
Ich brauche nen Interrupt 100ms verzögert nachdem ich nen Timer starte 
und soll dann auch wieder stoppen bis der Timmer wieder gestartet wird.

Mach ich das am besten mit Output Compare Mode? Wenn ja wie setzt man 
das mit CubeMX um?
#7213216
Lesenswert?

Angelo schrieb:
> Hi,
>
> Hab gerde das Problem das ich nicht so richtig weis wie ich das lösen
> kann.
> Ich brauche nen Interrupt 100ms verzögert nachdem ich nen Timer starte
> und soll dann auch wieder stoppen bis der Timmer wieder gestartet wird.
>
> Mach ich das am besten mit Output Compare Mode? Wenn ja wie setzt man
> das mit CubeMX um?

Das geht auch ohne compare du musst nur dem Zähler einen entsprechenden 
Wert vorgeben und den Überlauf UE als Interrupt benutzen. Mit dem one 
pulse only und dem slave Trigger mode macht es das auch nur 1 mal bis 
zum nächsten Trigger.
Gast #7213519
Lesenswert?

Angelo schrieb:
> Hab gerde das Problem das ich nicht so richtig weis wie ich das lösen
> kann.
> Ich brauche nen Interrupt 100ms verzögert nachdem ich nen Timer starte
> und soll dann auch wieder stoppen bis der Timmer wieder gestartet wird.

Ach herrje, sollen die 100 ms auf einige Nanosekunden genau kommen? Oder 
reicht es, wenn so etwa nach 100 ms (+/- ein paar ms) ein Signal kommt?

Wenn du eine Systemuhr in deiner Firmware hast, dann arbeite mit Events 
und verzögerten Events. Das Prinzip ist simpel: der Uhrtickinterrupt 
zählt nicht nur die Systemuhr hoch, sondern er guckt auch nach, ob bei 
einem der angemeldeten Events die Zeit abgelaufen ist. Wenn ja, dann 
packt er den Event in die Event-Warteschlange. Diese wiederum wird in 
der Grundschleife der Firmware abgefragt, ob da was drin ist. Wenn ja, 
wird es der Event-Behandlung übergeben. Fertig. Und dazu braucht es nur 
einen Timer für die Systemuhr. Geht für alles, was man in ms oder noch 
gröber zählt. Ist nicht dazu da, mal 2.7 µs zu warten.

W.S.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren