问题描述
我试图不对COM端口进行硬编码,因为它在不同PC上并不总是相同,因此我编写了以下代码以遍历所有可用的COM端口并查找第一个字节字符串响应(当前不为空的任何内容) )。我唯一正在努力的事情是如何处理没有COM端口返回响应的事件(即有人没有将其插入)。我该怎么办?
这是代码:
import serial.tools.list_ports
# Loop through all available COM ports
for port,desc,hwid in sorted(serial.tools.list_ports.comports()):
ser = serial.Serial(
port=port,baudrate=38400,bytesize=8,parity='N',stopbits=2,timeout=0)
# Break if response received
if ser.readline():
flag = True
break
ser.close()
try:
flag
print("{} is open.".format(port))
except NameError: print("No open COM port.")
如果有什么奇怪的话,请完成代码:
import serial.tools.list_ports
# Loop through all available COM ports
for port,timeout=0)
# Break if response received
if ser.readline():
break
ser.close()
else:
raise serial.SerialException ("No COM port found.")
print("{} is open.".format(port))
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)