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?
Hier solltest du alles Notwendige finden: AN4776 Application note General-purpose timer cookbook for STM32 microcontrollers https://www.st.com/resource/en/application_note/dm00236305-generalpurpose-timer-cookbook-for-stm32-microcontrollers-stmicroelectronics.pdf
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.
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.
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.