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.

[参考译文] TMS320F28388D:可在 Connectivity Manager CM4上接收

Guru**** 2535150 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1314150/tms320f28388d-can-receive-on-connectivity-manager-cm4

器件型号:TMS320F28388D

您好!

我正在寻找一种方法来解密一个使用 ID 和 DLC 收到的 CAN 邮箱。

我可以在"...MessageWithID"中看到/device/driverlib_cm/can.h、该函数返回接收帧的 ID、但除非我弄错、否则没有返回 DLC 的函数...

如何读取接收到的帧的 DLC?

感谢您的帮助!

埃里克·F·

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

    您好、Eric、

    是的、目前没有可用于读取 DLC 的函数、但您可以基于 driverlib 中的当前函数创建一个短例程。  可接收使用 driverlib 中的 IF2的函数。  发送功能使用 IF1寄存器、因此需要检查 CAN_IF2MCTL 寄存器的 DLC 字段。  函数 CAN_readMessageWithID 调用函数 CAN_readMessage、您可以在代码中键入如下代码以读出 DLC

    uint16_t msgCtrl, dlc;
    
    msgCtrl = HWREGH(base + CAN_O_IF2MCTL);
    
    dlc = msgCtrl & CAN_IF2MCTL_DLC_M;

    希望这对您有所帮助!

    此致、

    约瑟夫

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

    您好、Joseph:

    非常感谢、我将尝试该解决方案。

    此致、

    埃里克