Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在编写自己的 CANOpen 堆栈,我想使用 C 实现 SDO 服务器。CiA CANOpen 应用层文档指定 SDO 请求和确认帧如下所示:
并提供了一些解释如下:
根据我对这张图片的解码,我推测我应该在 SDO 确认帧中发送 8 个字节,但是这 7 个字节将只包含 0。
这个对吗?
PS:如果图片不清楚,请见谅。
几乎正确。一个 SDO CAN 帧总是包含 8 个字节,其中未使用的字节为 0。
然而,确认帧有 4 个非零字节。第一个字节是命令说明符(在本例中为 0x60)。接下来的三个是“多路复用器”:两个字节用于对象索引(小端序)和一个字节用于子索引。