64 비트 Windows 7 컴퓨터에서 Python 2.7.3을 실행 중이며 동일한 작업을 실행하는 64 비트 Ubuntu 컴퓨터에 (USB-> RS232 케이블을 통해) 연결되어 있습니다. Python 버전 (2.7.3).Windows에서 pyserial의 시간 초과 값이 작동하지 않습니다.
timeout = None이 Windows 7 측에서 올바르게 작동하지 않는 것 같은데 문제가 발생하여 그 이유를 알 수 없습니다. 여기
내가 승리 측이 무엇 : 지금은 문서 here 읽은>>> import serial
>>> s = serial.Serial(3)
>>> s.baudrate = 9600
>>> s
Serial<id=0x203a320, open=True>(port='COM4', baudrate=9600, bytesize=8, parity='N',
stopbits=1, timeout=None, xonxoff=False, rtscts=False, dsrdtr=False)
>>> s.read(5)
'' <--- returns right away
>>> s.timeout = 0
>>> s.read(5)
'' <--- correctly returns right away
>>> s.timeout = 10
>>> s.read(5) <--- correctly waits 10s
그리고 내가 그것을 제한 시간 None
을 제공하지 않는 경우가 영원히 기다려야 것을 알고, 그리고 0
제한 시간은해야 바로 반환하지만, None
은 기본이며 뭔가를 변경 한 경우 궁금 해서요 ... 기다리고 아니에요,하지만 난 리눅스 측에 코드를하려고 할 때, 작동 :
>>> import serial
>>> s = serial.Serial("/dev/ttyUSB0")
>>> s.baudrate = 9600
>>> s
Serial<id=0x7f325e002b50, open=True>(port='/dev/ttyUSB0', baudrate=9600, bytesize=8,
parity='N', stopbits=1, timeout=None, xonxoff=False, rtscts=False, dsrdtr=False)
>>> s.read(5)
'' <--- correctly waits forever
>>> s.timeout = 0
>>> s.read(5)
'' <--- correctly returns right away
>>> s.timeout = 10
>>> s.read(5) <--- correctly waits 10s
은 공지의주의가 있습니까 Windows에서 이것을 설정할 때? 누구든지 왜이 문제를보고있는 아이디어가 있습니까? 이 실패를 진단하는 데 도움이 될 수있는 다른 아이디어가 있습니까? 창에