Hi, Ich programmiere eine kleine Simulation von einem Algorithmus in C auf einem Computer, wo nachher auf einen STM32 portiert wird. Verwendet wird der MinGW Compiler mit der eclipse IDE. Wie kann ich auf einem normalen Computer einen Systick in C simulieren? Grüsse Bert
Bert S. schrieb: > Hi, > > Ich programmiere eine kleine Simulation von einem Algorithmus in C auf > einem Computer, wo nachher auf einen STM32 portiert wird. Verwendet wird > der MinGW Compiler mit der eclipse IDE. > > Wie kann ich auf einem normalen Computer einen Systick in C simulieren? Ein Thread der eine Variable hochzählt? Das Problem wird sich bei JEDER benutzen Peripherie stellen, vor allem wenn sich deren Zustand spontan ändern soll.
:
Bearbeitet durch User
Cyblord -. schrieb: > Ein Thread der eine Variable hochzählt? Oder ein einfacher Timer. Jedoch solltest du beachten das du den Timer nicht unter 10ms bekommst (kleinste Einheit). Und ob der Timer (dein Programm) dann wirklich nach 10ms wieder die Abarbeitung aufnimmt, ist auch nicht sichergestellt. Hatte immer was von 15,6ms gelesen, 1000ms/64. Sowie bei MultimediaTimern maximale 2ms. edit: Jedoch muss ich zugestehen, dass ich mich damit noch nie in der Tiefe beschäftigt habe.
:
Bearbeitet durch User
Spiele-Engines wie SDL bieten eine nette Möglichkeit, auch Timer zu implementieren. Ansonsten kannst Du eine Funktion namens SysTick() notfalls auch einfach in der Hauptschleife aufrufen.
Im Windows-System gibt es jede Menge Timer, die auch den, von Dir gewünschten Bereich, abdecken. Schau mal rund um timeGetDevCaps() und ein paar Hilfsroutinen nach. Muss aber nicht sein.
M.w.reicht eine eigene Task mit sleep(0). Die 54.irgendwas ms sind aus alten Zeiten und 2^16 Ticks pro Stunde.
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.