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.

[参考译文] F28M35H52C:CANopen 通信

Guru**** 2535590 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1289366/f28m35h52c-canopen-communication

器件型号:F28M35H52C

大家好!

我有问题。

当我使用 SDO 读取访问时、我设置一个变量"SDoSendNum4"来计算我应该发送的回复数量。

我计算发送和回复的数量等于 SDO 读取的请求数量、

但收到的 SDO 回复的实际数量不等于我计数的发送数量。

当 ul0bjID 等于22时、它是 SDO 回复。

这里我发送了10,000个请求,只收到8755个回复。但我的'SDoSendNum4'计数是10,000。

请帮我解决这个问题。

思考。

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

    在某种程度上、当我增加发送间隔时、应答数等于发送数。

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

    虽然我们很乐意帮助您解决有关 CAN 模块本身的问题、但我们很遗憾无法帮助您解决与诸如 CANopen 之类的 HLP 相关的问题。 请向专门为 CANopen 支持服务的其他在线论坛寻求帮助。

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

    您好、Hareesh。

    客户还发现 CAN 模块存在一些问题:

    通常、当缓存被覆盖时会发生帧丢失、BUSY 位应该为1、对吧? 但他们发现  忙位 绝不是1。 是否还有其他任何原因会导致 丢失?

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

    不可以、只有当 CPU 为了写入要发送的数据或为了读取接收到的消息而试图访问消息 RAM 区域时、BUSY 位才会被置位。 BUSY 位在大约14个 CPU 周期内会被清除、因此代码很难看到它的设置。 如果应用程序"丢失"消息、则可能是应用程序读取这些消息的速度不够快。 请访问 https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1288845/tms320f28377s-can-slave-cannot-receive-the-specified-id-data