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.

SCI FIFO reading on 28377D

Hello all,

I have a pb setting up  a SCI FIFO reading on 28377D.

The reading is perfomred in an interrupt of 15 words in FIFO

setup:

 

My code is as:

setup of IT (based on echoback example):

/* Enable FIFO operations */

SciaRegs.SCIFFTX.bit.TXFIFORESET = 1u;

SciaRegs.SCIFFTX.bit.TXFFINTCLR = 1u;

SciaRegs.SCIFFRX.bit.RXFIFORESET = 1u;

/* Enable the SCI controller */

SciaRegs.SCICTL1.bit.SWRESET = 1u;

/* Enable interrupt level of 15 word in FIFO */

SciaRegs.SCIFFRX.bit.RXFFIL = 15u;

/* Enable receiver FIFO interrupt */

SciaRegs.SCIFFRX.bit.RXFFIENA = 1u;

/* Enable receiver */

SciaRegs.SCICTL1.bit.RXENA = 1u;

/* Enable transmit */

SciaRegs.SCICTL1.bit.TXENA = 1u;

 

interrupt void SCI_isr(void)

{

Uint16 l_u16NbDataRx = 0;

Uint16 l_u16Cnt = 0;

/* Retrieve the number of received data */

l_u16NbDataRx = x_u16DrvSCI_CoreNbDataReceived();

if (0u != l_u16NbDataRx)

{

/* Test out of range buffer size */

if ((l_u16NbDataRx) <= DSP_MSG_RX_BUFFER_SIZE)

{

/* Store the SCI receiver FIFO content in the reception buffer */

for (l_u16Cnt = 0 ; l_u16Cnt < l_u16NbDataRx; l_u16Cnt++)

{

x_vDrvSCI_CoreReceive(&(dsp_rx_msg.Data[l_u16Cnt].RSValue[0]));

}

}

}

 

x_vDrvSCI_CoreClearIT();

// Acknowledge this interrupt to receive more interrupts from group 9

PieCtrlRegs.PIEACK.all |= PIEACK_GROUP9;

}

The interrupt is working good.. I receive 16 data but i m unable to read them with my "for" loop..

I miss something?

Thank you!