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