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.

[参考译文] TMS570LC4357:使用 canUpdateID 更新 CAN ID 时 CAN 数据接收问题。

Guru**** 2468610 points
Other Parts Discussed in Thread: HALCOGEN

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1071680/tms570lc4357-issue-with-can-data-reception-when-can-id-is-updated-using-canupdateid

部件号:TMS570LC4357
“线程:HALCOGEN测试”中讨论的其它部件

TI 专家大家好,

我们正在使用 TMS570LC43xx 微控制器和帧器。

我们需要在运行时更新 CAN ID 以接收数据。

我已使用 halcogen 生成的函数 canUpdateID 更新 CAN ID。

问题是未收到此更新的 CAN ID 的 CAN 数据。

请指导  

谢谢,此致,

阿尼尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好, Anil,

    ID 是否已成功更新? 您可以使用 canGetID()检查消息 ID 是否已更新。  

    您是否更改了掩码寄存器的 MSK[x]?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,QJ Wang,

    感谢你的回复。

    ID 是否已成功更新? 您可以使用 canGetID()检查消息 ID 是否已更新。  

    是。消息 ID 已成功更新。

    您是否更改了掩码寄存器的 MSK[x]?

    否。如何更改掩码寄存器的 MSK[x]?

    壁龛生成是否有任何功能?

    请分享示例代码(如果有)。  

    谢谢,此致,

    阿尼尔  

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,Anil,

    我刚刚测试了 canUpdateID(),它是有效的。 我可以获取新邮件 ID 为的新邮件:

    这是我使用 CAN1环回的测试代码:

    Int main (无效)

    /*用户码开始(3)*/
    无符号 int readID1,readID2;

    canInit();
    canEnableloopback (canREG1,Internal_LBK);

    canUpdateID (canREG1,0x1,0x60000028);
    canUpdateID(canREG1, 0x2, 0x40000028);

    CAN1上的/*传输*/
    canTransmit (canREG1,canMESSAGE_BOX1,TX_DATA);

    readID1 = canGetID (canREG1,0x1);
    readID2 = canGetID (canREG1,0x2);

    /*...等待 CAN2上的消息接收*/
    While (!canIsRxMessageArraived(canREG1, canMESSAGE_BOX2));
    canGetData (canREG1,canMESSAGE_BOX2,Rx_data);//在 CAN2上接收数据

    }

    邮件 Box1用于 TX,邮件 Box2用于接收。