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.

CCS/TMS570LS3137: LIN protocol - LIN_RX_INT does not appear

Part Number: TMS570LS3137
Other Parts Discussed in Thread: HALCOGEN, TPIC1021

Tool/software: Code Composer Studio

I have a problem with the LIN_RX_INT flag.
After sending the header to the slave, the data that comes in response is correct - I observe it on the oscilloscope.
Receiving data in a loop works, but I would like to avoid it and receive data using interrupts.
I set up interrupts in Halcogen, then turned them on in the source code. Unfortunately, the LIN_RX_INT flag does not appear.
Additionally, to check if it is a problem with the interrupt or with the appearance of the flag, I tried to control it in a loop. I used the linIsRxReady (LIN_RX_INT) function for this.
On the oscilloscope, I saw that the data had already arrived and it filled the buffer, but the bit in the register didn't change to 1.

I'm using LIN module and TPIC1021 as converter lin_rx lin_tx to LIN bus. SCI/LIN is not used.

Any tips?

  • Hello Paulina,

    To use the interrupt, you need to enable the interrupt in three levels:

    1. CPU: call _enbale_IRQ() to enable IRQ interrupt if LIN interrupt is mapped to IRQ

    2. VIM module: select the VIM channel 13 and 27

    3. LIN module: SET RX INT bit (9th bit of SCISETINT register) should be set.