I’m working some days ago with the FREErtos and PIC18F8621…i have to work with 3 metal sensor, we use the timer0 to create the interruption each 800ms. This process is periodic so each 800ms one of this 3 sensor will turn on and make some operation and after the other and the other. I tried to use the vTaskDelay but the program didn’t work well…
So I don’t know if i can do use it with the Freertos… I mean use the timer0 for interruption into the freertos… can you help me with some ideas?? I really need your help!!..
How does vTaskDelay() interact with your timer? You could use vTaskDelayUntil() to cause a task to run every 800ms. Alternatively if the function is short you could use a tick hook function in place of a task.
// Initialise the xLastWakeTime variable with the current time.
xLastWakeTime = xTaskGetTickCount();
for( ;; )
{
// Wait for the next cycle.
vTaskDelayUntil( &xLastWakeTime, xFrequency );
// Perform action here.
}
}
and also it said that we can use the constant portTICK_RATE_MS to calculate real time… but i only found this constant:
#define portTICK_RATE_HZ ( ( portTickType ) 400 )
so i can use it for calculation 800ms? or can I say that my const portTickType xFrequency = 0.800;…
Thanks so much for your help!!!..i can’t understand the relation betwen ticks and constant… thanks again for your help…