Forum: PC-Programmierung Arduino-Pyserial-2.7win32


von Sam (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich sende Daten von Python an  Arduino MEGA 2560 über serielle 
Schnittstelle. Alles hat Monate lang funktioniert einwandsfrei. Nun seit 
ein paar Tagen funktioniert es einfach nicht mehr und kommt immer der im 
Anhang Fehlermeldung. Ich habe es versucht den Serial Port-Nummer zu 
ändern, damit klappt es nur einmal und beim Reran kommt der 
Fehlermeldung nochmal.

: Verschoben durch User
von Stefan F. (Gast)


Lesenswert?

Die Fehlermeldung sieht eindeutig aus: Der Port COM7 existiert nicht. 
Aber sicher hast du das bereits in der Systemsteuerung kontrolliert.

Frage: Hast du mal versucht, den Port mit einem anderen Programm zu 
öffnen?

Ist der Treiber eventuell gestört, bzw. hat Windows verweigert, ihn zu 
laden (Treibersignatur, Boykott von FTDI und Prolific gegen kopierte 
Chips)?

von Sam (Gast)


Lesenswert?

Stefanus F. schrieb:
> Frage: Hast du mal versucht, den Port mit einem anderen Programm zu
> öffnen?

meinst du mit Serialterm z.B. ?

> Ist der Treiber eventuell gestört, bzw. hat Windows verweigert, ihn zu
> laden (Treibersignatur, Boykott von FTDI und Prolific gegen kopierte
> Chips)?
der Treiber hat aber vorher funktioniert.Im Gerätemanager steht auch 
Arduino MEGA 2560.

Stefanus F. schrieb:
> Aber sicher hast du das bereits in der Systemsteuerung kontrolliert.

habe nur den Portnummer geändert.

von Jim M. (turboj)


Lesenswert?

Stefanus F. schrieb:
> Die Fehlermeldung sieht eindeutig aus: Der Port COM7 existiert nicht.

COM Ports sollte man als "\\.\COMx" öffnen:

https://support.microsoft.com/de-de/help/115831/howto-specify-serial-ports-larger-than-com9

Ist das noch Windows <=7? Dort sind Ports unbrauchbar, wenn man bei 
geöffnetem Port das Gerät ab- und ansteckt. Abhilfe IIRC nur durch 
Reboot.

Sam schrieb:
> Im Gerätemanager steht auch
> Arduino MEGA 2560.

Mit welcher COM Port Nummer..?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jim M. schrieb:
> COM Ports sollte man als "\\.\COMx" öffnen:

... wenn die Nummer größer ist als 9, muss man das sogar.

Wenn die Win32-Anbindung von pySerial was taugt, sollte sich die 
allerdings darum kümmern, den String für CreateFile() passend 
zusammenzustückeln.

von Sam (Gast)


Lesenswert?

Jim M. schrieb:
> COM Ports sollte man als "\\.\COMx" öffnen:
sorry ich kann euch da nicht folgen. wwas meinst du mit \\.\COMx?

Jim M. schrieb:
> Ist das noch Windows <=7?
das ist ja windows 7.


Jim M. schrieb:
> Mit welcher COM Port Nummer..?

COM7.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Wenn es COM7 ist, ist der Einwurf von "Jim" nicht zu berücksichtigen, 
denn 7 ist kleiner als 10.

Beginnend mit COM10 sollte es heißen

> serial.Serial('\\.\COM10', 9600)

sofern nicht die Leute, die pySerial auf Windows portiert haben, 
versehentlich mal einen Blick in die Dokumentation der 
Win32-API-Funktion CreateFile geworfen haben.

Haben sie das, werden sie den ersten Parameter der Funktion um \\.\ 
ergänzen um damit CreateFile aufzurufen.

Da aber eine nur einstellige Nummer verwendet wird, ist *das nicht das 
Problem*.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.