Hallo, vielleicht kann mir jemand weiterhelfen. Habe das mit dem Scheduling unter FreeRTOS noch nicht so ganz verstanden bzw. bin mir nicht sicher, denn ich verstehe es so: Setzen wir mal vorraus: configTICK_RATE_HZ ist 100 Preemption und Time Slice sind aktiviert Es liegt also quasi Round Robin mit Prioritäten vor. Habe ich nun Task1 und Task2 mit gleicher Priorität, beide Ready und nicht anderweitig in Blocked versetzt, so werden diese im Wechsel durch den Scheduler aufgerufen, der mit jedem Tick aktiv wird. Tasks zu einem festen relativen oder absoluten Zeitpunkt kann ich offenbar mit OS-eigener Funktionalität nur anhand des Tick-Taktes planen (vTaskDelay()/vTaskDelayUntil()), soweit so gut. Was passiert, wenn ein höher priorisierter Task mitten während einer Periodendauer eintrifft /oder den Zustand Blocked verlässt (meinetwegen durch eine Direct To Task - Notification, ausgelöst durch einen Interrupt)? Habe ich das richtig verstanden, dass der niedriger priorisierte Task dann sofort unterbrochen wird. D.h. ich könnte mittels Timer-Interupt auch eine vom Tick unabhängige Verzögerung realisieren? Danke
> Habe ich das richtig verstanden, dass der niedriger priorisierte Task dann
sofort unterbrochen wird. D.h. ich könnte mittels Timer-Interupt auch eine vom
Tick unabhängige Verzögerung realisieren?
Ja, das hast du richtig verstanden.
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.