【发布时间】:2017-07-28 09:40:25
【问题描述】:
我正在开发 FTDI 芯片,并希望通过串行端口将此芯片连接到操作系统 Windows 10。我在下面使用这段代码,结果显示了我不想要的所有可见端口。我需要的是仅检测芯片连接的端口并忽略其余端口。例如 Com 4,所以我只想让我用 Python 编写的程序仅检测 Com4。 顺便说一句,我正在使用 Pyserial。 我非常感谢您提前提供的帮助
定义串行端口():
if sys.platform.startswith('win'):
ports = ['COM%s' % (i + 1) for i in range(256)]
print ports
elif sys.platform.startswith('linux') or sys.platform.startswith('cygwin'):
# this excludes your current terminal "/dev/tty"
ports = glob.glob('/dev/tty[A-Za-z]*')
elif sys.platform.startswith('darwin'):
ports = glob.glob('/dev/tty.*')
else:
raise EnvironmentError('Unsupported platform')
result = []
print ports
for port in ports:
try:
s = serial.Serial(port)
s.close()
result.append(port)
except (OSError, serial.SerialException):
pass
return result
【问题讨论】: