Gast
#6332005
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