2017-04-11 4 views
3

Hallo bitte, bitte meine grundlegende Frage, wie ich Python neu bin.
Ich versuche, Daten von der seriellen Schnittstelle zu lesen. Grundsätzlich ist der serielle Port ein virtuell zum seriellen Port konvertierter USB-Port. Ich benutze Arduino.
Zuerst habe ich versucht, diesen Code:
Wie lese ich Daten vom seriellen Port? Python

while(True): 
    ser=serial.Serial('COM6',9600) 
    bytoread=ser.inWaiting() 
    val=ser.read(bytoread) 

Aber es gab mir Fehler.

Permission Error(13,Access is denied, none 5) 

Aber wenn ich meinen Code

while(True): 
    ser=serial.Serial() 
    ser.baudrate=19600 
    ser.port='COM6' 
    ser 
    ser.open() 
    bytoread=ser.inWaiting() 
    val=ser.read(bytoread) 

Permission Fehler nicht gekommen zu

geändert, aber Programm ist der Port immer beschäftigt zu verbinden. Ich habe viele Minuten gewartet, aber es ging nie vorwärts. Was mache ich hier falsch?

Antwort

3

Sie etwas tun, wie kann:

import serial 
ser = serial.Serial('COM6', 9600, timeout=None) 

while True: 
    data = ser.readline() 

Sie nicht ser = serial.Serial('COM5', 9600, timeout=None) in Ihrer while Schleife setzen kann, weil sie permanent die Verbindung schaffen wird (wieder) ...

Verwandte Themen