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: SCI communication with TX RX Interrupt

Part Number: TMS320F28035

Dear All,

I have been working to develop a motor controller using the TMS320F28035 MCU. While the controller is complete I wanted to add UART feature to it with which I can store some calibration data on my system. 

Would really appreciate if you can guide me on some more specifics related to the SCI :-

1. I am able to use the RX interrupt however the TX FIFO interrupt seems to be constantly executing i.e. does not exit interrupt. I want to receive two-byte of the data and depending on that send 10 bytes using the port. The RX interrupt is working seemlessly but I am not able to send any data via the interrupt. 

2. How does the fifo functionality in TX works? i.e. In case of RX the data just gets stored in the buffer and once the fifo limit hits I get an interrupt and I can then read that data. What is the flow in case of TX?

3. Also I want to store the received data [20 bytes roughly] for future use(changeable in future using UART). How do I save that data since there is no EEPROM. I am aware about the emulted EEPROM using flash, but can I save data in flash sector lets say SECTOR - H while executing code from say SECTOR - A .

Thank again.

Regards

  • Hi Shwetank,

    shwetank vishnu1 said:
    1. I am able to use the RX interrupt however the TX FIFO interrupt seems to be constantly executing i.e. does not exit interrupt. I want to receive two-byte of the data and depending on that send 10 bytes using the port. The RX interrupt is working seemlessly but I am not able to send any data via the interrupt. 

    Can you please describe how you configured your FIFOs? Where in your code are you sending the data?

    shwetank vishnu1 said:
    2. How does the fifo functionality in TX works? i.e. In case of RX the data just gets stored in the buffer and once the fifo limit hits I get an interrupt and I can then read that data. What is the flow in case of TX?

    The TX FIFO functionality works in a similar way as the RX FIFO. For the TX FIFO, an interrupt will get generated if the TX FIFO status is less than or equal to the FIFO level bits. This is in contrast to the RX FIFO which will cause an interrupt if the RX FIFO status is greater than or equal to the FIFO level bits.

    shwetank vishnu1 said:
    3. Also I want to store the received data [20 bytes roughly] for future use(changeable in future using UART). How do I save that data since there is no EEPROM. I am aware about the emulted EEPROM using flash, but can I save data in flash sector lets say SECTOR - H while executing code from say SECTOR - A .

    This was answered in the following thread: https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/974904/3602220#3602220