AnsweredAssumed Answered

Serial port ISR and PPI ISR conflict on 561 EZKIT?

Question asked by DanW0830 on Apr 3, 2013
Latest reply on Apr 4, 2013 by CraigG

I used the Serial code in the examples to do this:

void InstallSerialIsrRoutines()

{

    // Set up the UART_RX interrupt on IVG8 and UART_Error interrupt on IVG7

    *pILAT = *pILAT | EVT_IVG7 | EVT_IVG8; // clear pending IVG7 and IVG8 interrupts

    *pSICA_IAR3 = Peripheral_IVG(28,8);

    *pSICA_IAR1 = Peripheral_IVG(9,7);

    ssync();

    *pSICA_IMASK0 |= SIC_MASK(28);

    *pSICA_IMASK0 |= SIC_MASK(9);

    register_handler(ik_ivg7, ISR_UART_error);   

    register_handler(ik_ivg8, ISR_UART_receive);

           

    // Finally enable interrupts inside UART module, by setting proper bits

    // in the IER register. It is good programming style to clear potential

    // UART interrupt latches in advance, by reading RBR, LSR and IIR.

    unsigned short temp = *pUART_RBR;

    temp = *pUART_LSR;

    temp = *pUART_IIR;

    *pUART_IER = ELSI | ERBFI;

    ssync();

 

}

 

My serial read ISR works fine until video starts and then when the next character comes in, the serial reader ISR is never called and

the PPI ISR spins here :

rdagain:ssync;

        r7 = [p0];

        cc = bittst(r7, PPI_SIC_IMASK_BIT);

    if cc jump rdagain;

My guess is that the PPI must be sharing some resources used by the UART?

Has anyone run across this issue?

 

Thanks

Dan

Outcomes