9 Stimmen

PySerial [Fehler 5] Zugriff wird verweigert

Ich versuche, ein Programm in Python zu schreiben, das in einer Schleife die serielle Schnittstelle (COM4) überprüft und eine Meldung ausgibt, wenn das Zeichen "1" von der seriellen Schnittstelle gelesen wird. Ich möchte die "1" über die serielle Schnittstelle von einem Arduino-Gadget auf Knopfdruck senden.

Ich erhalte jedoch die Fehlermeldung "[Error 5]: Access is Denied", wenn ich versuche, eine Instanz eines seriellen Objekts zu erstellen. (Es wird automatisch versucht, bei der Instanziierung zu öffnen, wo der Fehler liegt, wie ich aus der Datei im PySerial-Paket ersehen kann, die dies behandelt).

Mein Code:

c = serial.Serial('COM4', 9600)
while True:
    signal = c.read()
    print signal
    print "running"
    time.sleep(2)
    c.flushOutput()

Es kommt jedoch nie über "c = serial.Serial('COM4', 9600)" hinaus. An dieser Stelle erscheint der Fehler. Wie kann ich das beheben?

1voto

Die mit PORT COM arbeitet N-1 in Python (N ist die Anzahl der COM)

0voto

Dinh Tien Si Punkte 119
    At one time, there is only an application that can access one com port. If application A is accessing this com port, application B can not access it. You should do these following steps as below:
    1. Find the application that is accessing this port and then close the connection.
    2. Reconnect your application to this port. You can use the below source code.

     port='COM8',
 baudrate = 2400,
 parity=serial.PARITY_EVEN,
 stopbits=serial.STOPBITS_ONE,
 bytesize=serial.SEVENBITS,
 timeout=None
)

while 1:
 x = ser.readline()
 print(x)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X