python正常情况通过串口 serial  传输数据的时候,都是以字符串的形式发送的

str = ‘abcd’

ser.write(str.encode())#直接发送str报错,需要发送byte类型的,即 b‘abcd’

data = ser.readline()

如果要想直接发送16进制的数据,需要使用如下方法:

ser=serial.Serial('COM6',115200,timeout=1.5,parity=serial.PARITY_NONE,stopbits=serial.STOPBITS_ONE,bytesize=serial.EIGHTBITS)

senddata = '020000AA700019010D44435F5365745F574C4D6F64650201310301310402393503B8'

ser.write(bytes.fromhex(sendData))

 

从串口获取原数据(16进制):

data = str(binascii.b2a_hex(ser.readline())).upper()

相关文章:

  • 2022-12-23
  • 2021-08-08
  • 2022-12-23
  • 2022-01-01
  • 2021-12-18
  • 2021-12-04
  • 2021-05-23
猜你喜欢
  • 2022-12-23
  • 2021-11-29
  • 2022-12-23
  • 2022-12-23
  • 2021-04-30
  • 2022-12-23
  • 2021-11-22
相关资源
相似解决方案