FreeRTOS - CHANGE NOTICE Interrupt - Pic32Mx

stratodream wrote on Sunday, June 18, 2017:

Hi,
I’m working with FreeRTOSv9.0.0 and I have a BMP085 pressure sensor that has an End Of Conversion Pin.
I would like to use this pin to manage a (CHANGE NOTICE) interrupt on my Pic32 PIC32MX795F512L.

After vTaskStartScheduler();
start my task and in the init of the task i wrote this code :

TRISBbits.TRISB0 = 0;
CNCONbits.ON = 1;        
CNENbits.CNEN2 = 1;        
CNPUEbits.CNPUE2 = 1;      
IPC6bits.CNIP = 1;
IEC1bits.CNIE = 1;
IFS1bits.CNIF = 0;     
INTCONbits.MVEC = 1;
asm volatile("ei"); 

than i wrote the ISR as follow :

void __ISR(_CHANGE_NOTICE_VECTOR, IPL1SOFT) vCNInterruptHandler (void)
{
    
   
    MyFlag = 1;
    IFS1bits.CNIF = 0; 

}

About the hardware connection it’s all’ok, i already tested the EOC (end of conversion) signal presence and the Pic pin (corresponding to RB0 PORT).

The issue is that the ISR is never executed.

Thanks in advance.
Best Regards

rtel wrote on Sunday, June 18, 2017:

What have you done to establish that the issue is related to FreeRTOS.
For example, are you implying that in a bare metal project (without
FreeRTOS) the interrupt works ok, but in a multi-threaded FreeRTOS
project it doesn’t. I’m afraid we can’t support chip specific interrupt
configuration, as per the code you posted.