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.

TMS320F28388D: SCI FIFO receiving problem of tms320f28388d chip

Part Number: TMS320F28388D


Hello everyone,

1. In SCI routine, can receive FIFO without using interrupt?

2. This function SCI_ readCharArray(SCIA_ Base, rdata, 2); use without receiving interrupt?

3. Function SCI_ readCharArray(SCIA_ Base, rdata, 2); and function

SCI_ readCharBlockingFIFO(SCIA_ Base); what's the difference?

4. This function SCI_ readCharBlockingFIFO(SCIA_ It seems that you can't receive a lot of data. Only one at a time, right?

5. How to identify the length of the received data and where to store the received data when the receiving function does not use the pre interrupt? How to take it out?


thank! Good luck,

Ti customers

  • Hi,

    user6365229 said:
    1. In SCI routine, can receive FIFO without using interrupt?

    Yes you can receive the data on FIFO with and without interrupt. If you want to handle with interrupt you can set required level using SCI_setFIFOInterruptLevel() API. Please refer to sci_ex2_loopback_interrupts example for how to handle SCI interrupts.

    user6365229 said:
    2. This function SCI_ readCharArray(SCIA_ Base, rdata, 2); use without receiving interrupt?

    Yes. It receives length number of bytes without interrupt

    user6365229 said:

    3. Function SCI_ readCharArray(SCIA_ Base, rdata, 2); and function

    SCI_ readCharBlockingFIFO(SCIA_ Base); what's the difference?

    Read Char Array reads length number of bytes from FIFO. However readCharBlockingFIFO reads a single character from FIFO

    user6365229 said:
    4. This function SCI_ readCharBlockingFIFO(SCIA_ It seems that you can't receive a lot of data. Only one at a time, right?

    Yes it reads a single character at a time. You can implement like _readCharArray() if you want to implement multiple bytes read.

    user6365229 said:
    5. How to identify the length of the received data and where to store the received data when the receiving function does not use the pre interrupt? How to take it out?

    You can define a way of determining length on your system. For example, if you implement a command interface, based on the command which is sent in first byte you can identify the length of bytes and read those many number of bytes from FIFO. 

    Hope it helps

    Regards,

    Sudharsanan