【发布时间】:2013-10-02 17:44:29
【问题描述】:
我已阅读文档,但似乎无法找到直接的答案。 我有一个连接到计算机的调制解调器正在使用的所有 COM 端口的列表。从这个列表中,我尝试打开它,向它发送一个命令,如果它回复了任何内容,则将其添加到另一个列表中。我不完全确定我是否正确使用了 pyserial 的读写功能。
i=0
for modem in PortList:
for port in modem:
try:
ser = serial.Serial(port, 9600, timeout=1)
ser.close()
ser.open()
ser.write("ati")
time.sleep(3)
print ser.read(64)
if ser.read(64) is not '':
print port
except serial.SerialException:
continue
i+=1
我没有从 ser.read() 中得到任何东西。我总是得到空白字符串。
【问题讨论】:
-
你试过运行它吗?您收到错误消息吗?出乎意料的输出?还是……?
-
到底是什么问题?
-
对不起,我忘记写了。我总是从 ser.read() 中得到空白字符串。我让它打印出来看看它返回了什么。
-
为什么初始化后立即关闭ser?这似乎很麻烦。
-
我想到了几个其他问题:
ser.read(64)应该是ser.read(size=64),你应该将它分配给一个变量(read_val = ser.read(size=64),然后是print read_val,然后是 if 语句)因为现在,您正在执行两个单独的读取。
标签: python serial-port pyserial