【发布时间】:2020-12-24 13:08:19
【问题描述】:
我正在 Ubuntu 上编写类似于 SMS 门的东西。该设备是华为 E173 调制解调器。
我使用 pyserial 向设备写入/读取数据。这是我的代码:
import serial
import time
port = '/dev/ttyUSB0'
ser = serial.Serial(port,
stopbits=serial.STOPBITS_ONE,
parity=serial.PARITY_NONE,
bytesize=serial.EIGHTBITS
)
ser.write(b'AT\r\n')
time.sleep(0.1)
print(ser.read(ser.in_waiting))
此代码有效。但有时当我重新连接设备时,我发现它无法读取任何内容。 (ser.in_waiting=0,即使我将 n 设置得更大,也没有任何变化)。
但我仍然可以使用 minicom 来处理该端口。
我的问题:为什么 pyserial 不能工作,但 minicom 可以?它们之间有什么区别吗?
【问题讨论】:
-
将RTS和DTR设置为True怎么样?
-
@kunif 试过了,不行
-
即插即用不是很好处理吗?是不是不仅要使用PySerial还要支持即插即用的包?
-
@kunif 我不明白它与即插即用有什么关系。你能解释一下吗?
-
从关键字 reconnect 推断。请做一些调查。
标签: python serial-port pyserial