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.

TMS320F28374S: In SCI communication, is it possible to establish reception processing without using reception interrupts?

Part Number: TMS320F28374S


Hi Champs,

In SCI communication, is it possible to establish reception processing without using reception interrupts?

The baud rate of the communication is 38400bps, and I want to perform reception processing every 1ms.
(Each time, a message of about 10 bytes is sent.)

If it is every 1ms, it will receive 3 bytes to 4 bytes.
Therefore, I would like to use a FIFO to check to what depth the FIFO has received the data and store the data in a buffer.

However, there are some concerns.
For example, suppose there are 3 bytes of data in FIFO0-FIFO2 at the timing of the 1ms reception process.

Suppose we check RXFFST=3 in the SCIFFRX register and store the data in FIFO0-FIFO2 in the buffer.
Is there a possibility that the next data is received during this process, and the data is stored in FIFO3?

Thank you very much for help.
Best regards,
Yuka

  • Hi Yuka,

    Here are my answers to your two questions:

    * Yes, non-interrupt SCI communication (using polling) can be done as shown in the sci_ex1_loopback example.

    * If I understand your question, then yes, it is possible that the next data will enter the FIFO as you check the RXFFST. However, you read the data from the SCIRXBUF register (receive data buffer register) one byte at a time. So when you read each byte, that is when the bytes in the RX buffer shift.

    Regards,

    Vince

  • Hi Vince,

    I understand what you have answered.
    Since it shifts one byte at a time, we found that after reading three bytes, the fourth byte becomes the beginning of the data after the next 1ms.

    Thank you for your kind support.

    Best regards,
    Yuka