シリアルポートで受信したデータを印刷するには?

シリアルポートで受信したデータを印刷するには?

ここに画像の説明を入力してください。以下は私が書いた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))

おすすめ記事