Interrumption problems
Hello!!!
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!!…
Thanks so much for your help, have a nice day!!
Moneditas
Interrumption problems
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.
Dave.
Interrumption problems
Thanks so much for your help, it looks really fine!!!
I found example for the vtaskdelayuntil:
void vTaskFunction( void * pvParameters )
{
portTickType xLastWakeTime;
const portTickType xFrequency = 10;
// 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…
Moneditas