Como imprimo os dados recebidos em uma porta serial?

0

Abaixoestáocódigopythonqueescrevi:

importserial,time#initializationandopentheportser=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"

Ao executar, ele mostra que os dados recebidos são muito estranhos para serem lidos. A captura de tela da resposta foi anexada acima da pergunta abaixo.

    
por Sivaram Namathoti 18.01.2016 / 12:24

1 resposta

1

Tente o seguinte:

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))
    
por 18.01.2016 / 12:49