LINスレーブが不正なメッセージIDを報告する - KBA228178 - Community Translated (JA)

Version 1

    Community Translated by  NoTa_4591161        Version: **

     

    Translation - English: LIN Slave Reports Incorrect Message ID - KBA228178

     

    質問:

    LIN2.0仕様の互換性を選択するときに、LSBMSBがスレーブ応答でスワップされ、LINスレーブが誤ったメッセージIDを報告するのはなぜでしょうか?どのようにすれば修正できますでしょうか?

     

    回答:

    生成されたLIN.cソースコードファイルに欠陥があります。このエラーは次のように修正できます。

     

    1. LIN.cファイルで、次のコードを見つけます。

     

    /*D1= Message ID LSB */
    LINS_srfBuffer[LINS_PDU_D1_IDX] =
    HI8(messageIdTable[tempStatus]);

    /* D2 = Message ID MSB */
    LINS_srfBuffer[LINS_PDU_D2_IDX] =
    LO8(messageIdTable[tempStatus]);

     

    LSBLO8MSBHI8になるように、HI8()関数とLO8()関数を入れ替えます。

     

    重要: LIN.cファイルは生成されたファイルであり、アプリケーションをビルドするたびに上書きされます。したがって、コードをビルドまたは生成するたびにLIN.cファイルを再編集する必要があります