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.