직렬 포트로 수신된 데이터를 인쇄하는 방법은 무엇입니까?

직렬 포트로 수신된 데이터를 인쇄하는 방법은 무엇입니까?

여기에 이미지 설명을 입력하세요.아래는 제가 작성한 Python 코드입니다.

import serial,time
#initialization and open the port
ser = serial.Serial()
ser.port = "/dev/ttyUSB0"
ser.baudrate = 1152000
ser.bytesize = serial.EIGHTBITS #number of bits per bytes
ser.parity = serial.PARITY_NONE #set parity check: no parity
ser.stopbits = serial.STOPBITS_TWO #number of stop bits
    #ser.timeout = None          #block read
ser.timeout = 5               #non-block read
    #ser.timeout = 2              #timeout block read
ser.xonxoff = False     #disable software flow control
ser.rtscts = False     #disable hardware (RTS/CTS) flow control
ser.dsrdtr = False       #disable hardware (DSR/DTR) flow control

try: 
    ser.open()

except Exception, e:
    print "error open serial port: " + str(e)
    exit()

if ser.isOpen():
    read_data = ser.read(10)
   # response  = ser.readline()
    print"Data received : " + read_data

else:
   print "Can not open serial port"

실행 후에는 수신된 데이터가 읽기에 너무 이상하다는 것을 보여줍니다. 응답 스크린샷은 질문 아래에 첨부되어 있습니다.

답변1

다음을 시도해 보십시오:

sudo apt-get install python-serial

import serial

port = serial.Serial("/dev/ttyUSB0", baudrate=115200, timeout=3.0)

while True:
    port.write("\r\nSay something:")
    rcv = port.read(10)
    port.write("\r\nYou sent:" + repr(rcv))

관련 정보