全部:
我使用 SMBus 命令从器件接收数据。
但是,命令的方式是正确的,也是错误的,我在 PEC 方面也有不同之处。
错误的方法是使用写地址、其中包括一个停止位、然后是读取数据、其中也包括一个停止位。
正确的方法是先写入地址、不包括停止位、然后读取包含停止位的数据。
如果我使用"不正确"的方法发送 FCC 的读数、我实际上会接收到有效的 FCC、但 PEC 字节不同。
那么、这里是差异:
"错误"命令: 写入地址0x10、读取字节"C2 09 4C"
"正确"命令: 写入地址0x10、读取字节"C2 09 52"
我是否应该在正确的与错误的情况下期望不同的 PEC? 我知道在发送地址期间、错误的方法发送了一个无效的停止位、但是返回的字节是正确的。
我使用的处理器对 PEC 进行硬件检查、在"正确"方法上、我没有遇到 PEC 错误。
但是、我很困惑我会得到不同的 PEC。
希望我的问题有道理。 (我真的希望 PEC 值将是相同的、无论地址上发送的是停止/不是停止。)