按照一般规律,ser.write(0xff)应该是输出0xff到串口的,但是可以实际跑下试试,发现输出了一串0000000.很恶心,
后来发现要想输出一串hex数据流需要这样定义:
TE="\x55\x55\x55\x55\x55\x55\x55\x55\xdd\xff\x33\x44\x22\x11"
不是0xff是\xff,也能用,不知道谁跟谁不一样
import serial
import time
import struct
from TE import TE
print “hello world”
ser = serial.Serial(“COM6”,115200)
#ser.write(“send test”)
#str = ser.read(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.write(TE.encode(“utf-8”))