FreeRTOS Support Archive
The FreeRTOS support forum is used to obtain active support directly from Real
Time Engineers Ltd. In return for using our top quality software and services for
free, we request you play fair and do your bit to help others too! Sign up
to receive notifications of new support topics then help where you can.
This is a read only archive of threads posted to the FreeRTOS support forum.
The archive is updated every week, so will not always contain the very latest posts.
Use these archive pages to search previous posts. Use the Live FreeRTOS Forum
link to reply to a post, or start a new support thread.
[FreeRTOS Home] [Live FreeRTOS Forum] [FAQ] [Archive Top] [April 2007 Threads] Interrumption problemsPosted by Nobody/Anonymous on April 16, 2007 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
RE: Interrumption problemsPosted by Nobody/Anonymous on April 16, 2007 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.
RE: Interrumption problemsPosted by Nobody/Anonymous on April 16, 2007 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
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|