2017-07-28 1 views
1

Ich verwende Pyserial 2.6 unter Windows 7, und ich versuche, eine Verbindung zu einem Tiva C Series Launchpad herzustellen. Es ist als COM5 unter Gerätemanager aufgeführt, und ich habe erfolgreich alle erforderlichen Treiber heruntergeladen und installiert. Ich programmiere das Board mit TIs CCS, und alles verbindet und funktioniert gut.Pyserial COM Port Ausgabe

Aber aus irgendeinem Grund, wenn ich tatsächlich versuche, mit pyserial darauf zuzugreifen, wird es nicht erkannt. Ich betreibe:

python -m serial.tools.list_ports 

ich:

COM1 
COM3 
COM4 
3 ports found 

Aber ich weiß nicht COM5 finden ... das ist, wo meine Tiva ist. Ich habe keine Ahnung, was los ist. Ich bin mir nicht sicher, was passiert ... ist da etwas, was ich falsch mache? Ich habe die Installationsanweisungen für die Installation von Pyserial verknüpft. Gibt es noch etwas anderes zu tun ..?

Vielen Dank

+1

Welche Ports sind im Gerätemanager aufgeführt? Was sagt Ihnen die Befehlszeile über [verfügbare COM-Ports] (https://superuser.com/questions/835848/how-to-view-serial-com-ports-but-not-through-device-manager)? Was gibt 'serial.tools.list_ports.comports()' Ihnen wie vorgeschlagen [hier] (https://stackoverflow.com/a/29813811/3991125) – albert

Antwort

1

Nun, das kann alles sein. Der folgende Code funktioniert bei mir:

def _scan_com_ports(self): 
    """ 
    Scan for available COM ports. return a list of tuples (num, name) 
    """ 
    available = [] 
    for i in range(10): 
     try: 
      s = serial.Serial(i) # if not existing an exception occured 
      available.append((i, s.portstr)) 
      s.close() # explicit close 'cause of delayed GC in java 
      if debug: 
       print("Com:", i + 1) 
     except serial.SerialException: 
      if debug: 
       print("Not to open", i) 
      # needed to cope with comp witch are not to open 
      pass 
    return available 

Wahrscheinlich gibt die Suche bis früh auf.

+0

Interessant ... wenn ich diesen Code ausführe, passiert nichts. Nichts wird auf den Bildschirm ausgegeben ... interessant .. –

+0

@JohnLexus haben Sie 'debug' gesetzt? Haben Sie den aufrufenden Testcode zum Drucken des Rückgabewerts erstellt? – starturtle