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.

[参考译文] TMS320F280049:读取错误的 msgid

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

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/833586/tms320f280049-can-wrong-msgid-read

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

你好

我们的客户在阅读 CAN msgid 时报告了该问题。

[1.问题]
由于我们设置了 msgid=0x90U 和 msgIDMask=0xFFFCU、因此可以接收0x90到0x93中的数据。 我们尝试接收0x91、但结果是0x90。
其实施情况如下。

/*实施*/
CAN_setupMessageObject (CANA_base、
Mailbox_No1、/* mailbox_No1 = 1 */
0x90U、
CAN_MSG_FRAME_STD、
CAN_MSG_OBJ_TYPE_RX、
0xFFFCU、
CAN_MSG_OBJ_RX_INT_ENABLE | CAN_MSG_OBJ_USE_ID_FILTER、
sizeof (unsigned char)* 8);

/*判决*/
uint32_t check = 0;/* check 表示 msgid */
CHECK = HWREG (CANA_base + CAN_O_IF1ARB);
Check &= CAN_IF1ARB_STD_ID_M;
检查=检查>> CAN_IF1ARB_STD_ID_S;

这里是否有缺失或错误的点?


[2.问题]
如果这个问题不能很快解决、他们认为可以通过更改 C2000ware 库本身来获得正确的结果。 在这种情况下、TI 能否发布 C2000库源代码? 如果可以,请告诉我如何获取许可证。

此致、
A. Fujinaka

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

    我将检查并更新数据。

    关于源代码,它已经是 c2000ware 发行版的一部分。

    此致

    Baskaran

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

    您共享的已剪切代码配置为接收 msg id 0x90。 这就是您可能看到0x90被接收的原因。

    CAN_setupMessageObject (CANA_base、
    Mailbox_No1、/* mailbox_No1 = 1 */
    0x90U、
    CAN_MSG_FRAME_STD、  
    CAN_MSG_OBJ_TYPE_RX、  
    0xFFFCU、
    CAN_MSG_OBJ_RX_INT_ENABLE | CAN_MSG_OBJ_USE_ID_FILTER、  
    sizeof (unsigned char)* 8);

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

    请参考此主题、它讨论了类似的方面。

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/804754/2983198#2983198