2406473_en-US

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2406473_en-US

2406473_en-US

Help needed, issue with LIN host transmission

Help: When using the LIN function on S32K314 configured as master mode, only the frame header is sent. If the slave does not respond, the master cannot send the frame header again. The configuration is as follows:

_0-1787127326823.png_0-1787127326823.png_0-1787127326823.png


Re: Help needed, issue with LIN host transmission

Hi @杨工,

Based on the screenshot you posted, LIN_FRAMERESPONSE_RX indicates that the master node will receive the response part of a LIN frame. When configured as a subscriber for a specific frame ID, the node sends the Break + Sync + PID header and then listens for the Data + Checksum from the slave.

If the slave does not send anything, the master will not terminate the frame on its own. Any subsequent call to Lpuart_Lin_Ip_SendFrame() will return STATUS_BUSY. The application is responsible for terminating the transfer.

The RTD LIN driver provides a Lin Frame Timeout feature for exactly this situation. If you enable it in the configuration tool and implement the timer notifications (LinLpuartStartTimerNotification / LinLpuartStopTimerNotification), calling Lpuart_Lin_Ip_TimerExpiredService() on timeout expiry will return the driver state to IDLE.

As a quick diagnostic, you can call Lpuart_Lin_Ip_TimerExpiredService() or even Lpuart_Lin_Ip_GoToIdleState() directly from the application whenever Lpuart_Lin_Ip_SendFrame() returns STATUS_BUSY, to confirm this is the root cause before wiring up the full timer mechanism.


Regards,

Daniel

タグ(1)
評価なし
バージョン履歴
最終更新日:
昨日
更新者: