我使用Prologix GPIB-USB适配器在一个只听模式下,以破译两个设备(半导体相关即测试仪和探测器)之间的通信。在
我能够解码手册中所述的大部分信息,但无法转换其中一个数据,即BIN类别。在
样本数据:
018022
C@A@@@@@@@
Q
O
A
A
019022
CA@A@@@@@@
工具手册:
我参与的数据是“C@A公司@@@@@@@“和”CA@A公司@@@@@@" 第一个字节即“C”是传入的命令。 第二个字节可以是“@”或“A”,它实际上表明测试是否通过/失败。在
转换为二进制:
^{pr2}$结果由字节的低位4位决定,即0000(通过)和0001(失败)。在这里之前我能正确地解码它。在
接下来的8个字节表示BIN类别,在测试期间,如果测试失败,则设置为5;如果测试通过,则设置为1,因此BIN number in“C@A公司@@@@@@@“是1和对应的BIN编号”CA@A公司@@@@@@“设定为5。在
我无法从GPIB适配器生成的数据中解码5和1的值。有人能建议它是否真的可以被解码为5和1。我附上了解释如何读取传入数据的手册。在
长期以来一直坚持这个原则:-(
你可以用解包结构把字节值解码成数字。你需要知道长度(在这个例子中是8字节)以及这个数字是大是小(如果你不知道的话测试一下)。以及数字是有符号还是无符号。在
如果你的绳子是“C@A公司@@@@@@@“二进制数据是以字节3-10为单位的,你可以试试
这将解码一个8字节长的无符号大端数。有关说明,请参见https://docs.python.org/2/library/struct.html。在
希望这有帮助。在
汉努
相关问题 更多 >
编程相关推荐