2017-07-28 2 views
0

verbunden ist Ich arbeite an einem FTDI-Chip und möchte diesen Chip mit dem Betriebssystem Windows 10 über eine serielle Schnittstelle verbinden. Ich benutze diesen Code unten und die Ergebnisse zeigen mir alle sichtbaren Ports, was ich nicht will. Ich muss nur den Anschluss erkennen, an den der Chip angeschlossen ist, und den Rest ignorieren. zum Beispiel Com 4, also möchte ich nur mein in Python geschriebenes Programm nur Com4 erkennen. Ich benutze Pyserial übrigens. Ich bin ziemlich dankbar und dankbar für Ihre Hilfe im Vorauserkennen Sie die spezifische serielle Schnittstelle, die mit FTDI-Chip

def serial_ports():

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 

Antwort

0

Lesen Sie mehr über

serial.tools.list_ports

Dieses Modul ausgeführt werden kann, eine bekommen Liste der Ports (python -m serial.tools.list_ports).
Es enthält auch die folgenden Funktionen.

serial.tools.list_ports.comports() 
Returns: an iterable that yields ListPortInfo objects. 

Die Funktion gibt eine iterable der Tupel von drei Saiten ergibt:
Anschlussnamen wie es sein kann, übergeben oder serial.Serial serial.serial_for_url()
Beschreibung in Menschen lesbare Form
Art von Hardware ICH WÜRDE. Z.B. kann VID enthalten: PID von USB-seriellen Adaptern.

Verwandte Themen