PIC24 C30 ISR queue failure in minutes

cmauler wrote on Monday, May 30, 2011:

My test collects adc data under 100Hz interrupt (using xQueueSendFromISR  ) and the highest priority task unloads the data but the queue only works for a few minutes. I see the interrupt routine still gets executed and another lower priority delay based task is unaffected.
I have changed queue length, task priority, stack size etc read numerous examples and I have stack check enabled, but I’m at a loss when the queue ceases to indicate received after a few thousand correct operations!
Latest FreeRTOS V7.0.1
Copied ISR from PIC24 port demo serial handler
Vindicated hardware, as I substituted the queue with a C based creation based on shared variable with flags, and it ran overnight without issue.

Suggestions for possible/typical reasons or line of experimentation to determine cause?
Thank you for your time and consideration

rtel wrote on Monday, May 30, 2011:

Do you have the priority of the ADC interrupt set to configKERNEL_INTERRUPT_PRIORITY (the lowest priority)?  If not, then set it to configKERNEL_INTERRUPT_PRIORITY and give it another try.

See the “RTOS Port Specific Configuration” section on http://www.freertos.org/portpic24_dspic.html


cmauler wrote on Monday, May 30, 2011:

Thanks, it did the trick. Frustrating when you spend extra time to sort out a problem but tiredness limits you.