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.

[参考译文] TMS470MF06607:如何获取接收到的 CAN 数据 ID

Guru**** 2443830 points
Other Parts Discussed in Thread: TMS470MF06607, HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/618479/tms470mf06607-how-to-get-the-received-can-data-id

器件型号:TMS470MF06607
主题中讨论的其他器件: HALCOGEN

您好,

我使用是 TMS470MF06607微控制器。 我使用 HALCOGEN 代码生成器生成了启动代码

我生成代码以接收所有 CAN ID 数据。 我已禁用屏蔽。

我正确地获取数据。 但我不知道如何获取特定数据的 ID。

您能不能建议我如何获取接收数据 ID。

注:  

无论 halcogen 在该代码中生成什么代码,我没有  任何函数,如 canGetID()。

此致

Arun Kumar.N

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    HalCoGen 应该已经创建了一个函数(canGetID)。 FYI 提供了11位 ID、左移18位。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Arun、

    这是读取 CAN ID 的函数:

    uint32_t canGetID (canBASE-t *节点、uint32_t MessageBox)

      uint32_t msgBoxID = 0U;

      /**-等待 IF2就绪可供使用*/

      while (node->IF2STAT & 0x80);

      /**-为配置 IF2

      *  -消息方向-读取

      *  -数据读取

      *  -清除报文对象中的 NewDat 位。

      *

      NOD->IF2CMD = 0x20U;

      /**-将数据复制到 IF2中*/

      节点->IF2NO = MessageBox;

      /**-等待数据被复制到 IF2中*/

      while (node->IF2STAT & 0x80);

      /*从仲裁寄存器读取消息框 ID。 *

      msgBoxID =(节点->IF2ARB & 0x1FFFFFFFU);

      返回 msgBoxID;

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


    感谢您的有效建议。 这对我们有很大帮助。


    谢谢、此致
    Arun Kumar.N