如何用pyserial打开串口?

1 投票
2 回答
5131 浏览
提问于 2025-04-16 07:23

我正在尝试在Ubuntu上用Python打开一个串口。我导入了openinterface.py,然后输入了这些代码:

ser = openinterface.CreateBot(com_port = "/dev/ttyUSB1", mode="full")

结果我遇到了一个错误,提示“对于 - 操作,'str' 和 'int' 的操作数类型不支持”。我试过用单引号替换双引号,也试过完全不加引号。

我该如何解决这个问题?或者有没有其他的函数可以使用?我只懂一些Python的基础知识,可能是我没注意到什么小的语法问题?任何帮助都非常感谢,谢谢。

2 个回答

0

如果你在使用Python 3,这就是你想要的内容:

import serial                             #import pyserial lib

ser = serial.Serial("/dev/ttyS0", 9600)   #specify your port and braudrate
data = ser.read()                         #read byte from serial device
print(data)                               #display the read byte
2

根据这个俄文页面openinterface.py文件里有个bug,它试图从端口参数中减去1。建议你做个修改,就是把第803行的- 1去掉,可以用sed命令来实现:

sed -ie "803s/ - 1//" openinterface.py

你可以试试这个方法,或者看看有没有更新版本的openinterface.py

撰写回答