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.

[参考译文] TMS570LC4357:数据帧问题

Guru**** 2457760 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1107725/tms570lc4357-data-frame-issue

器件型号:TMS570LC4357

大家好、

以下是客户提出的问题、可能需要您的帮助:

使用 canUpdateID 函数更新 ID 后、传输的数据帧将变为远程帧。

//msgBoxArbitVal 已发送0XA1300000。

void canUpdateID (canBASE-t *节点、uint32 MessageBox、uint32 msgBoxArbitVal)

/**-等待 IF2就绪可供使用*/
while ((node->IF2STAT & 0x80U)=0x80U)

}/*等待*/

/**-为配置 IF2
*-消息方向-读取
*-数据读取
*-清除报文对象中的 NewDat 位。
*
NOD->IF2CMD = 0xA0U;
/*将传递的值复制到仲裁寄存器中。 *
NODe->IF2ARB &= 0x80000000U;
NODe->IF2ARB |=(msgBoxArbitVal & 0x7FFFFFFFU);

/**-更新消息框编号。 *
/*SAFETYMCUSW 93 S MR:6.1、6.2、10.1、10.2、10.3、10.4 "LDRA 工具问题"*/
NOode->IF2NO =(uint8) MessageBox;

/**-等待数据被复制到 IF2中*/
while ((node->IF2STAT & 0x80U)=0x80U)

}/*等待*/

您可以帮助检查此案例吗? 谢谢。

此致、

樱桃

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

    您好、Cherry、

    CAN 远程帧被显式标记为远程帧(仲裁域中的 RTR 位为隐性状态)、 并且没有数据域。  远程帧的预期目的是请求相应数据帧的传输。 例如、如果节点 A (CAN 1)传输仲裁字段设置为123的远程帧、则节点 B (CAN 2)将以仲裁字段也设置为123的数据帧进行响应。

    要发送远程帧的消息对象或邮箱必须配置为 RX

    RTR 位必须置位

    我不知道 canUpdateaID()函数如何更改邮箱的配置:设置 RTR 并将 TX 更改为 RX。

    请仔细检查代码的其他部分。