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

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.