0

我正在编写自己的 CANOpen 堆栈,我想使用 C 实现 SDO 服务器。CiA CANOpen 应用层文档指定 SDO 请求和确认帧如下所示:

在此处输入图像描述

并提供了一些解释如下:

在此处输入图像描述

根据我对这张图片的解码,我推测我应该在 SDO 确认帧中发送 8 个字节,但是这 7 个字节将只包含 0。

这个对吗?

PS:如果图片不清楚,请见谅。

4

1 回答 1

0

几乎正确。一个 SDO CAN 帧总是包含 8 个字节,其中未使用的字节为 0。

然而,确认帧有 4 个非零字节。第一个字节是命令说明符(在本例中为 0x60)。接下来的三个是“多路复用器”:两个字节用于对象索引(小端序)和一个字节用于子索引。

于 2020-09-19T23:00:26.957 回答