python如何通过串⼝打印⼗六进制0xff
按照⼀般规律,ser.write(0xff)应该是输出0xff到串⼝的,但是可以实际跑下试试,发现输出了⼀串0000000.很恶⼼,后来发现要想输出⼀串hex数据流需要这样定义:
TE="\x55\x55\x55\x55\x55\x55\x55\x55\xdd\xff\x33\x44\x22\x11"
不是0xff是\xff,也能⽤,不知道谁跟谁不⼀样
python怎么读取串口数据import serial
import time
import struct
from TE import TE
print “hello world”
ser = serial.Serial(“COM6”,115200)
#ser.write(“send test”)
#str = ad(100)
list = [‘U’,‘1’,‘2’,‘3’,0x55,0xbb]
print list[0]
print list[4]
#ser.write(list[0])
native byteorder
buffer = struct.pack(“ihb”, 1, 2, 3)
print repr(buffer)
print struct.unpack(“ihb”, buffer)
data from a sequence, network byteorder
data = [1, 2, 3]
buffer = struct.pack("!ihb", *data)
print repr(buffer)
print struct.unpack("!ihb", buffer)
te=0x05
TE="\x55\x55\x55\x55\x55\x55\x55\x55\xdd\xff\x33\x44\x22\x11"
if te==5:
print “test”
ser.write(TE)
#ser.de(“utf-8”))

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。