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:设置可以接收消息对象

Guru**** 2514335 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1548365/tms320f28388d-setting-up-can-receive-message-objects

器件型号:TMS320F28388D
主题:C2000WARE 中讨论的其他器件

工具/软件:

由于消息对象短缺、我需要向单个消息对象接收多条消息、例如、我需要 MO1 接收 1000h 至 100Fh 范围内的消息、需要 MO2 接收 2000h 至 200Fh 范围内的消息、需要 MO3 接收 3000h 至 300Fh 范围内的消息。 我遇到的问题是发送到 MO3 的任何消息都以 MO1 形式结束。 在初始化时、我为每个 MO 设置的寄存器如下(以 MO1 为例、在每次写入寄存器后省略等待 BUSY 标志清除):

CAN_IF2MSK = C0001000h

CAN_IF2ARB = 40001000h

CAN_IF2MCTL = 00101080h

CAN_IF2ARB = C0001000h

最后、CAN_IF2CMD = 00F00001、以传输寄存器设置。

我认为我需要不同的屏蔽或仲裁寄存器设置才能使其正常工作、但我还没有找到合适的组合。

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

    好的、看起来我需要 CAN_IF2MSK = C000F0000h

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

    或 C000F000 偶数

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

    嗨、Allan、

    是的、这就是您可以灵活处理消息对象的方式。  可通过掩码过滤器定义的组消息。  这也称为消息过滤。  请参阅 C2000Ware 中的 can_ex8_MASK 示例、了解如何应用消息 ID 和掩码。

    此致、

    Joseph