首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中写入IC

在Python中写入IC
EN

Stack Overflow用户
提问于 2013-03-16 19:39:05
回答 1查看 454关注 0票数 0

我有一个IC,我正在尝试用Python与它通信。我有一个可以工作的C应用程序,它写入几个字节,然后读取响应,但在Python中似乎无法获得相同的结果。

IC确实使用Python代码进行响应,但错误地表明写入内容无效。

这是我到目前为止所拥有的。

Working C实现:

代码语言:javascript
复制
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:

代码语言:javascript
复制
dev = open(device_path, 'r+')
buff = pack('BB', 0xB8, 0x00)
device.write(buff)
buff = pack('BB', 0xBE, 0x00)
device.write(buff)
out = device.read(9)
out = unpack('BBBBBBBBB', out)
print out
dev.close()

使用Python:

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-16 19:46:34

您应该使用os.open打开设备以匹配C程序。

如果你坚持使用缓冲IO,你至少应该在尝试读取之前刷新。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15448798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档