2017-04-11 7 views
3

안녕하세요, 파이썬에 익숙하지 않으므로 저의 기본적인 질문에 답해주십시오.
직렬 포트에서 데이터를 읽으려고합니다. 기본적으로 직렬 포트는 사실상 직렬 포트로 변환 된 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)을 넣어 연결을 만들 수 없습니다 ...