我有一个IC,我正试图用Python与它通信。我有一个正在工作的C应用程序,它先写几个字节,然后读取响应,但是在Python中似乎无法得到相同的结果。在
IC确实用Python代码响应,但它错误地暗示write的内容无效。在
这是我到目前为止的情况。在
工作C实施:
unsigned char buffer[2];
int dev;
dev = open(device_path, O_RDWR);
buffer[0] = 0xB8;
buffer[1] = 0x00;
if (write(*dev, buffer, 2) < 2){
//error
}
buffer[0] = 0xBE;
if(write(*dev, buffer, 2) < 2){
//error
}
if(read(*dev, output, 9) < 9){
//error
}
close(dev);
Python:
^{pr2}$工作Python:
dev = os.open(device_path, os.O_RDWR)
buff = pack('BB', 0xB8, 0x00)
os.write(device, buff)
buff = pack('BB', 0xBE, 0x00)
os.write(device, buff)
out = os.read(device, 9)
out = unpack('BBBBBBBBB', out)
print out
os.close(dev)
您应该使用
os.open
打开设备以匹配C程序。在如果您坚持使用缓冲IO,那么在尝试读取之前至少应该刷新。在
相关问题 更多 >
编程相关推荐