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.

[参考译文] CCS/EK-TM4C129EXL:在接收器件上使用 CAN ID 过滤器时出现问题

Guru**** 2456290 points
Other Parts Discussed in Thread: EK-TM4C129EXL

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/641798/ccs-ek-tm4c129exl-trouble-using-the-can-id-filter-at-the-receiving-part

器件型号:EK-TM4C129EXL

工具/软件:Code Composer Studio

大家好、我是 CAN 的新手。 我现在可以毫无问题地发送/接收 CAN 消息(感谢这里的一些论坛成员)。 但是、我认为在根据接收端的 ID 过滤 CAN 消息时遇到了一些问题。

我的代码基于 TI 的 multi_Rx 和 multi_TX 示例代码。

在 CAN 对象1的发送端、我已将其 msdID 从0x1001修改为128解码。 对于这个 msgid、传输工作正常。 但是、在接收端、我将 CAN 对象1的 msdID 保持为0x1001、并且已启用 "(MSG_OBJ_RX_INT_ENABLE | MSG_OBJ_USE_ID_FILTER | MSG_OBJ_EXDED_ID);"标志。

但是、我似乎仍然在接收 CAN 对象1的 msdID=ID=0x00080 (12月128日)。 我想知道我在这里有什么问题。 请提供建议。

下面是 CAN 对象1的初始化:

//
//初始化消息对象以接收 ID 为0x1001的 CAN 消息。
//必须将预期 ID 与掩码一起设置,以指示全部
ID 中的//位必须匹配。
//
sCANMessage.ui32MsgID = 0x1001;
sCANMessage.ui32MsgIDMask = 0xffffff;
sCANMessage.ui32Flags =(MSG_OBJ_RX_INT_ENABLE | MSG_OBJ_USE_ID_FILTER |
MSG_OBJ_EXDED_ID);
sCANMessage.ui32MsgLen = 8; 

下面是 CAN 对象1在发送端的初始化:

//初始化报文对象1以能够发送 CAN 报文1。 这种情况
//消息对象不是共享的,因此只需要初始化一个
//时间,和可用于重复发送相同的消息 ID。
//
G_sCANMsgObject1.ui32MsgID = 128;
G_sCANMsgObject1.ui32MsgIDMask = 0;
G_sCANMsgObject1.ui32Flags = MSG_OBJ_TX_INT_ENABLE;
G_sCANMsgObject1.ui32MsgLen = sizeof (g_pui8Msg1);
G_sCANMsgObject1.pui8MsgData = g_pui8Msg1; 

附件是用于发送和接收以及终端输出的代码。

e2e.ti.com/.../txcan1.ce2e.ti.com/.../rxcan1.c

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我看不到任何明显的错误。 是否要将项目导出到 zip 文件并上载它们? 不幸的是、这是美国的一个漫长假期、我将在周一之前不会回到办公室。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Bob,我已经将发送和接收代码附加到 POST (txcan1.c 和 rxcan1.c)中。 您是否仍然重新生成邮政编码文件。 玩得很开心,享受你的假期:)

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

    哎呀、抱歉。 我没有仔细看。 我现在看到了这些文件。 您是否刚从 EK-TM4C129EXL 的 project0开始、然后将"project0.c"替换为 txcan1.c 或 rxcan1.c 文件? 我在船上有一个 EK-TM4C129EXL、但我需要等到周一、我在办公室有 CAN 驱动器板。

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

    [引用 user="Bob Crosby"]

    您是否刚从 EK-TM4C129EXL 的 project0开始 、然后将"project0.c"替换为 txcan1.c 或 rxcan1.c 文件? 我在船上有一个 EK-TM4C129EXL、但我需要等到周一、我在办公室有 CAN 驱动器板。

    [/报价]

    你好...是的。 我刚刚替换/编辑了 TX 和 Rx 代码的默认 hello.c。 哦、我明白了。 直到下星期一?