2406473_ja-JP

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

2406473_ja-JP

2406473_ja-JP

助けが必要です。LINホスト送信の問題です

助け:マスターモードとして設定S32K314 LIN機能を使用すると、フレームヘッダーのみが送信されます。スレーブが応答しない場合、マスターはフレームヘッダーを再度送信できません。構成は以下のとおりです。

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


Re: Help needed, issue with LIN host transmission

こんにちは@杨工

あなたが投稿したスクリーンショットを見る限り、LIN_FRAMERESPONSE_RXはマスターノードがLINフレームの応答部分を受け取ることを示しています。特定のフレームIDのサブスクライバーとして設定されている場合、ノードはブレーク+同期+PIDヘッダーを送信し、スレーブからデータ+チェックサムを受信します。

スレーブが何も送信しない場合、マスターはフレームを自動的に終了しません。Lpuart_Lin_Ip_SendFrame() をそれ以降に呼び出すと、STATUS_BUSY が返されます。アプリケーションは移転の終了を担当します。

RTD LINドライバーはまさにこの状況に対応するLin Frame Timeout機能を提供します。設定ツールでこれを有効にし、タイマー通知(LinLpuartStartTimerNotification / LinLpuartStopTimerNotification)を実装すると、タイムアウトの期限切れ時にLpuart_Lin_Ip_TimerExpiredService()を呼び出すとドライバーの状態がIDLEに戻ります。

簡単な診断として、Lpuart_Lin_Ip_SendFrame()が返STATUS_BUSYした際にアプリケーションから直接Lpuart_Lin_Ip_TimerExpiredService()またはLpuart_Lin_Ip_GoToIdleState()を呼び出して、これが根本原因であることを確認し、フルタイマー機構を配線するのが良いでしょう。


よろしくお願いいたします。

ダニエル

标记 (1)
无评分
版本历史
最后更新:
星期四
更新人: