Does vTaskDelay(1000); = exactly 1 s ? 1000 ms ?
I feel more than that.
Have you checked it with a logic analyser? Toggle a GPIO before and after the delay. Since the delay is most likely based on SysTick, and you are most likely using an external crystal to drive the PLL, it will be quite accurate.
It will delay at least 1000ms. It will be longer when there are higher priority threads or interrupts that need to be serviced.
But I have two tasks with the same priority, it should be exactly 1s,
doesn't it ?
What are you trying to do? How close to exactly 1000ms do you have to be?
Consider using a TIM to create a continuous/coherent time line, the latency at any given IRQ can't be guaranteed, but over the long term it should be consistently placed.
vTaskDelay(1000); will keep accumulating bias from one application to the next
FreeRTOS - A FREE Open Source Simple RTOS Scheduler API documentation
Retrieving data ...