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.

TMS320F28379D: In Empty project example use SCI Communication with but received data does not match with sender.

Part Number: TMS320F28379D
Other Parts Discussed in Thread: C2000WARE

In my launchpad F28379D Series with c2000 example of driverlib empty CPU1 example on css theia IDe.

In this we added sci module and interrupt FIFO for recieves data on interrupt but data recieved is not match with sender so what is the problem and what could be the reason to not working this.

let me know for more information.

  • Hi Rutvik,

    Have you tried running one of the SCI example projects in C2000ware? The examples can be found in the [C2000ware install]/driverlib/f2837xd/examples/cpu1/sci/. I would suggest trying the echoback example to verify that you can properly communicate with the COM terminal. 

    Also, if you are using the F2837xD LaunchPAD, can you make sure to add the _LAUNCHXL_F28379D into your project properties as a predefined symbol? If you add this and rebuild the project, this makes sure the clocks are properly configured for the LaunchPAD. 

    Best Regards,

    Delaney

  • i'm sending data by SCI and using interrupt at receiver end.
    Interrupt is coming and data is wrong (garbage kind). what should be the problem?

  • Hi Rutvik,

    A couple things:

    Can you scope the signal going into the SCI RX pin and verify that the data is what you expect?

    In CCS, if you check the SCIRXST register with "Continuous Refresh" enabled, are any of the error flags going high when data is received?

    Best Regards,

    Delaney

  • i captured that signal in scope (logic analyzer) it's shows what expected,

    __interrupt void scibRxISR(void)
    {
        char rxData, rxstatus;
        rxstatus = ScibRegs.SCIRXST.all;
        if(ScibRegs.SCIRXST.bit.RXRDY == 1)
        {
            rxData = ScibRegs.SCIRXBUF.bit.SAR;   // Read received byte
        }

    and as above snippet of partial code to read SCIRXST register at RX interrupt it's value 0x42 which is i think expected.

  • Hi Rutvik,

    Apologies for the delay. Yes, if rxstatus is 0x42 then that should mean there are no issues there. Can you give an example of the data being transmitted (expected) vs. what is being received into rxData? Is it all zeros, garbage data, or is there a pattern? Also, I would suggest sending data one at a time from the transmitting device and stepping through the code to receive each character individually.

    Best Regards,

    Delaney