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:使用 CAN RTR 消息

Guru**** 2560840 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1198675/tms320f28388d-using-can-rtr-message

器件型号:TMS320F28388D

大家好、

我想使用 C2000 28388D CPU1 CAN 模块。 我可以使用邮箱对其进行设置、发送和接收消息。

我使用 canking 和 kvasser 与 TI 28388D 评估板(并辅之以 TI CAN 瞬变器)进行通信

我无法理解如何设置从器件 RTR 消息。

I setup CAN_setupMessageObject (CANA_base、3、0x301、CAN_MSG_FRAME_STD、CAN_MSG_OBJ_TYPE_RxTx_REMOTE、0、 CAN_MSG_OBJ_NO_FLAGS、8);

当我使用流道发送带有0x301的 RTR 消息时、我看到评估板回答了、这很好。 如何使用我要发送的数据加载邮箱3?

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

    您好!

    您必须在报文对象中填充 CAN 报文、但没有直接的方法可以将数据写入报文对象 、首先将数据写入 IF 寄存器 CAN_IFxDATA 和 CAN_IFxDATB 寄存器、然后将其传输到报文对象。  这可以通过以下步骤来实现(假设使用 IF1寄存器):

    1)  按照您的操作设置远程消息对象: CAN_setupMessageObject (CANA_base、3、0x301、CAN_MSG_FRAME_STD、CAN_MSG_OBJ_TYPE_RxTx_REMOTE、0、 CAN_MSG_OBJ_NO_FLAGS、8);

    2) 将数据的前4个字节写入 CAN_IF1DATA 寄存器

    3) 将剩余的4个字节的数据写入 CAN_IF1DATB 寄存器

    4) 要将 IF1 (接口1)数据寄存器移动到报文对象3、请使用 CAN_transferMessage 函数。  它将采用以下形式:CAN_transferMessage (CANA_base、1、3、true、false);

    此致、

    Joseph