I am trying to interface 12, 10 bit-ADC on PIC24FJ256GB210. I successfully ported the RTOS on the same controller and verified it by blinking 2 LEDs in to two task with a delay of 200 ms and 400 ms. The code which I wrote was like this:
void vTask1( void *pvParameters )
{
for( ;; )
{
LATDbits.LATD8 = ~LATDbits.LATD8;
vTaskDelay( 2000 / portTICK_RATE_MS );
}
}
void vTask2( void *pvParameters )
{
for( ;; )
{
LATDbits.LATD9 = ~LATDbits.LATD9;
vTaskDelay( 4000 / portTICK_RATE_MS );
}
}
Then I modified the code of TASK1 to take values of 12 ADCs. The code compiles but doesn’t work. The code which I wrote is something like this:
void vTask_ADC ( void *pvParameters )
{
for( ;; )
{
AD1CON1bits.ASAM = 1;
vAverage_ADC_Readings();
vTaskDelay( 1000 / portTICK_RATE_MS );
}
}
Do I need to write the wrapper class to handle ADC? I have just written the attribute in a C file in which I just set and reset flags.Thanks in advance.