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.

TMS320F28035: reading buffers in SCI multibuffer mode for LIN/SCI module

Part Number: TMS320F28035

Hello,

I wish to know whether it's possible to read the LINTD0 and LINTD1 buffers, even when the LinaRegs.SCIFLR.RXRDY flag is not set ?  It's my understanding that in multibuffer mode this flag is only set when the buffers are filled to the preset character length, in this case 8. 

I'm setting

LinaRegs.SCIFORMAT.bit.CHAR = 7;
LinaRegs.SCIFORMAT.bit.LENGTH = 7;

In my code after a couple of full sized received frames, the last frame will be less than LENGTH = 8, meaning all 8 buffers won't be filled.  

Thanks

 - Dak

  • Hi Dak,

    You are correct when you say that the RXRDY flag will only be set once the buffers are filled to the designated character length (in multi-buffered mode).

    I am assuming you meant the LINRDO and LINRD1 registers instead of the transmit ones. If your last frame is less than LENGTH 8 then I would recommend adding "dummy" data until it reaches the full length, and then discarding it once you are able to read in that last frame. Otherwise, the RXRDY flag will not get set.

    Best,

    Marlyn