2017-04-11 25 views
3

こんにちは、私はpythonに新しいので、私の基本的な質問をしてください。
シリアルポートからデータを読み取ろうとしています。基本的にシリアルポートは、シリアルポートに仮想的に変換されたUSBポートです。私はarduinoを使用しています。
は、まず私はこのコードを試してみました:
シリアルポートからデータを読み取る方法は? Python

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

をしかし、それは私にエラーを与えました。

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

しかし、私は

while(True): 
    ser=serial.Serial() 
    ser.baudrate=19600 
    ser.port='COM6' 
    ser 
    ser.open() 
    bytoread=ser.inWaiting() 
    val=ser.read(bytoread) 
に自分のコードを変更したときにパーミッションエラーが来ていないが、プログラムは常にポートを接続するビジーです。私は何分も待っていましたが、決して前進しませんでした。私はここで間違っていますか?

答えて

3

あなたのような何かを行うことができます:

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

while True: 
    data = ser.readline() 

あなたはそれが永久に(再)されますので、あなたのwhileループでser = serial.Serial('COM5', 9600, timeout=None)を入れて接続を作成することはできません...

関連する問題