This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

INT8.1 received instead of INT8.6 or INT8.5 but why?

Other Parts Discussed in Thread: TMS320F28335

Hello

I work with a TMS320F28335 under the CCS5.5 and i have a problem with UARTC Interruption
I used the TI multiplexed interruption management. (DSP2833x_DefaultIsr.c + DSP2833x_DefaultIsr.h + DSP2833x_SWPrioritizedIsrLevels.h).
I have configure it to have SCICRX and TX interrupt but some time i have an INT8.1 that appears. (i don't used I2C and this interrupt is not configured or enable in my sw)

Somebody can help me to understand why this interrupt appears without visible raison?

Thanks for your help

  • Hi cedric,

    Have you followed the steps properly, have a look:  Any one of the method

    Regards,

    Gautam

  • Hello Gautam
    It is a good question.
    I have no check this point because i used TI source exemple :/

    exemple extract from source :

    #if (G85PL != 0)
    interrupt void SCIRXINTC_ISR(void) // SCI-C
    {
    // Set interrupt priority:
    volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER8.all;
    IER |= M_INT8;
    IER &= MINT8; // Set "global" priority
    PieCtrlRegs.PIEIER8.all &= MG85; // Set "group" priority
    PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
    EINT;

    // Insert ISR Code here.......
    UARTC_ManageRxInterrupt();

    // Restore registers saved:
    DINT;
    PieCtrlRegs.PIEIER8.all = TempPIEIER;

    }
    #endi

    But i can have this problem (wrong interrupt set) if this procedure is not respected?
  • Please add a NOP between the PIEACK and the EINT. Looks like we missed this example when we updated. I'll file a bug report.

    In addition make sure you haven't modified PIEIER anywhere else in the code except at initialization and within the ISR of the same group.

    PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
    asm(" NOP"); // Wait one cycle
    EINT; // Clear INTM to enable interrupts
  • Thanks for your help
    I will try your solution but i have some "critical sections" where i shall disable RX / TX interrupt.
    how can i switch off these interrupt without using PIEIER register?