是的,就是这么简单-
In [73]: frame = bytearray([
...: 0x00, 0x00, #frame control (2 bytes)
...: 0x00, 0x00, #machine id (2 bytes)
...: 0x07, # number of bytes in data field
...: 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, #data field itself
...: ])
In [75]: checksum = sum(frame)
In [76]: frame.extend((checksum // 256, checksum % 256))
In [80]: print (", ".join("\\x%02X" % v for v in frame))
\x00, \x00, \x00, \x00, \x07, \x01, \x01, \x01, \x00, \x00, \x00, \x00, \x00, \x0A
现在,请注意一个细节:我以“自然顺序”添加了校验和的2个字节,即“MSB”(最高有效字节)。正如在您的规范中一样,这应该是可行的-如果不是,您可能在其他字段中有一些格式错误。