동일한 직렬 포트에서 쓰고 읽고 있습니다. 여기에 문제가 무엇 :파이썬 pyserial 직렬 포트에 두 번 이상 쓰고
나는 아래의 코드처럼, 다른 후 직렬 포트 하나에 쓰기 :
import serial
import array
rec = serial.Serial()
trans = serial.Serial()
rec.port = "/dev/ttyUSB0"
rec.baudrate = 9600
rec.timeout = 0.5
rec.open()
trans.port = "/dev/ttyUSB0"
trans.baudrate = 9600
trans.timeout = 0.5
trans.open()
if trans.isOpen():
trans.write("\xFE\x1D\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE2")
trans.write("\xFE\x1D\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE3")
while rec.isOpen():
response = rec.readline()
etc. etc. etc
을만큼 루프가 회전하는 동안, 나는 첫 번째 전송 된 문자열을 읽는 유지한다. 또한 난 그냥 while 루프 후 데이터를 보내려고 : (I 삭제하지 않았다 if 문) 나는 시리얼 포트에서 읽을 무엇
while rec.isOpen():
trans.write("\x00\x00")
response = rec.readline()
는 여전히 :
"\ XFE \ x1D \ XFF \ XFF \ xFF \ xFF \ xFF \ xFF \ xFF \ xFF \ xFF \ xFF \ xFF \ xFF \ xFF \ xFF \ xFF \ xFF \ xFF \ xFF \ xFF \ xFF \ xE2 "
첫 번째 데이터가 아닌 다른 데이터를 보낼 수 없습니다. 왜 그런가? 어떻게해야합니까?
참고 또한 while 루프에서 I 두번 읽으려고 : 응답 = rec.readline() 응답 = rec.readline()
이때, I는 I 판독 어레이를 인쇄 할 때, 그것을 prints [] 나는 아무 것도 읽을 수 없다는 것을 의미합니다. 감사합니다.
EDIT : 이제 두 개의 다른 USB 포트 ttyUSB0 및 ttyUSB1을 사용하여 내 문제가 해당 상황과 관련이 있는지 확인합니다. 그러나 같은 항구에서 글을 쓰거나 읽는 것이 잘못된 것은 아닙니다.
불행히도, 내 문제를 해결하지 못했습니다. –