vTaskDelayUntil – issue

I have few tasks with different priorities that use the below code for task scheduling TickTypet prevTime = xTaskGetTickCount(); while(1) { ….. ….. vTaskDelayUntil(&prevTime, periodtime_milliseconds); } But a task is scheduled at fsater rate than the ‘periodtimemilliseconds’ value. Suspecting the update of ‘prevTime’ in vTaskDelayUntil( ..) function I tried the below code which worked properly. while(1) { TickTypet prevTime = xTaskGetTickCount(); ….. ….. vTaskDelayUntil(&prevTime, periodtime_milliseconds); } But I am unable to give reason for this behaviour. Can someone help me to understand what is the issue in the first piece of code and how the solution worked? Thanks

vTaskDelayUntil – issue

Are you sure the RTOS tick interrupt is executing at the frequency you think it is? You could test by toggling an IO pin in the tick hook at measuring the frequency using a scope.