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.

Problem with SCI of TMS570LS20216

Other Parts Discussed in Thread: HALCOGEN, SN75HVD1176

Hi,

I'm using TMDX570LS20SMDK board.

I generated a code using HalCoGen, when not using the Receive interrupt mode, function sciReceive() could receive data normally.

But when I added interrupt, it cannot enter the receive interrupt routine.

Is there anything that I have ignored?

Thanks

  • Hello,

    We received your post and are notifying our expert in this area.


  • The API to receive/transmit by interrupt mode and polling mode is different.

    For receive

    sciReceive -> Interrupt mode

    sciReceiveByte-> polling mode

    After enabling the interrupts in the GUI call this routine to enable interrups in the core

    _enable_FIQ(); For enabling the FIQ line
    _enable_IRQ(); For enabling the IRQ line


    Regards,
    Pratip

  • Thank you very much.

    Now I have run into another strange phenomenon.

    On  TMDX570LS20SMDK board, the SCI2 is connected to a 485 chip(SN75HVD1176), and EHET19 is used to control the direction of data flow.

    Now comes the problem: 

    if I do not set the EHET19  to 1, but clear it to 0 directly, the cpu can never receive data.

    If I set the EHET19  to 1, delay for a little time or send data, and clear it to 0, then the cpu could receive data sent by PC. But there was one byte 0x00 additionally to the real data.

    For example: If 0xFF was sent, the data received was:0xFF 0x00. 

    If 0xFF 0xFF 0xFF were sent, the data received was:0xFF 0xFF 0xFF 0x00.

    Would you please solve this problem for me? Thanks again.

    PS:When clearing pin EHET19  to 0, the RX of the SCI2 was pull down to 0, is that normal?

  • Hi,

    I have found out why the Rx of SCI2 is pull down.

    In the 485 interface circuit, wire 485_B is pulled up and wire 485_A is pulled down, but in my view 485_A should be higher than 485_B when there's no communication.

    By the way, the silk mark of 485_A and 485_B on the io board are exchanged.

    Regards.

  • hi

    i have the same problem with you .my development board is mcbtms570, and  my PC is connected to the 485 . if 0x41 0x42 were sent ,the data received was 0x41 0x42 0x00. could you tell me how to solve the problem? thanks.