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:TMS570LC43

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/935806/tms570lc4357-tms570lc43

器件型号:TMS570LC4357

大家好、

我的 TMS570LC43电路板有一些问题。

我实施了一个非常简单的代码来测试 CAN 通信。 我启用了回送功能,并尝试使用生成的 halgogen 函数"canUpdateID()"更新 ID。

问题是、成功更新消息 ID 后、我无法接收任何消息。

另一方面,如果不使用 "canUpdateID()",我通常会收到消息。并使用 halgogen 预配置 MessageID。

我用卤素原配置了消息盒、如下所示:

MessageBox[1 - 8]是 Tx-messagebox、分别包含消息 ID 1 - 8  

MessageBox[9 - 16]是 Rx 消息框、分别包含消息 ID 9 - 16  

我尝试使用我的代码修改前4个 Rx-messagebox 的信息 ID 以接收消息。

低于我的代码

uint8 i;
uint32 ID;
uint8数据[4][8];
uint8 Data[8]={1、2、3、3、5、6、7、8};
uint8 Data2[8]={8、7、4、93、2、1、0};
uint8数据阵列[4][8];
uint32 ResultOfTransmission;

canInit();
canEnabableeloopback (canREG1、Internal_LBK);
memcpy (&DataArray[0]、Data、8);
memcpy (&DataArray[1][0]、Data2、8);
memcpy (&DataArray[2][0]、Data、8);
memcpy (&DataArray[3][0]、Data2、8);
对于(i = 1;i<= 4;i++){
ResultOfTransmission = canTransmit (canREG1、I、DataArray[I-1]);
canUpdateID (canREG1、i + 8、i);
}
while (1){
静态 uint32 j = 1;
printf("****圆 nr %d***** ",j);
if (j > 8){
if (canIsMessageBoxValid (canREG1、j)){
ID = canGetID (canREG1,j);
if (canIsRxMessageArrived (canREG1, j )){
静态 A = 0;
如果(A < 4){
ResultOfTransmission = canGetData (canREG1、j + 8、&data[a][0]);
}
A++;
} /* kein else nötig */
} /* kein else nötig */
}
J++;
} 

 

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

    您好!

    在原始设置中,由于 mailbox9~16的 ID 与传入邮件的 ID 不匹配,因此邮箱无法从 mailbox1~8获取回送数据。

    如果将 mailbox9/10/11/12的 ID 更新为1/2/3/4,则他们应从 mailbox1/2/3/4获取回送数据。

    是否可以使用内存浏览器(0xFF1E0128)检查邮箱9的 ID 是否已更新?

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

    感谢您的回答、

    问题是由于给定的消息 ID 不完整。 我必须 提供所有需要的信息(消息方向、消息 ID、...)  IF2ARB 寄存器的说明。