AnsweredAssumed Answered

UART RX Interrupt does not work.

Question asked by John Park on Feb 24, 2018
Latest reply on Apr 5, 2018 by Martin Kovar

Hello. I work with MPC5606B, C, CodeWarrior. matlab.

 

I've tried to receive UART using RX ISR.

 

I add this function in main. 

 ==========================================================

void initUART(void){

LINFLEX_0.UARTCR.B.UART = 1; //enable UART mode
LINFLEX_0.UARTCR.B.WL1 = 1; //set 8-bit data
LINFLEX_0.UARTCR.B.RXEN = 1; //enable RX
LINFLEX_0.LINIER.B.DRIE = 1; //Data Reception Complete Interrupt Enable

}

==========================================================

 

and this ISR 

 

==========================================================

void TEST_UART (void)
{

 

LINFLEX_0.LINSR.R = 0xF23F;
LINFLEX_0.UARTSR.B.DRF = 1; //Data Reception Completed Flag

a++; // checking for ON/OFF

UartRxFillBuf();

linflex_data=UartRxDataByte();

}

 

==========================================================

 

each time I send TX, the a increases as my purpose, counting. It means, flag is set when the Board complete data reception.

 

when I tried to receive RX in main loop, I succeeded. So, There must be no problems in UART configuration. 

 

I can't find the reason why it doesn't work.

 

Please help me..

Outcomes