import serial
import time
#import binascii
uart = serial.Serial(“COM16”,9600)
Hex_str = bytes.fromhex(‘00 02 00 00 00 01 b8 1b’)
uart.write(Hex_str)
#result=uart.write(Hex_str)
time.sleep(1)
count=uart.inWaiting()
if count>0:
data = uart.read(count)
out_1 = ''
for i in range(0,len(data)):
out_1 = out_1 + '{:02X}'.format(data[i]) + ' ' #加空格
out_1 = [i for i in list(out_1.split(' ')) if i != '']
out_1 = [(int(j,16)) for j in out_1]
#{}["REV_DATA"] = (out_1)
#print("receive",bytes(binascii.b2a_hex(out_1))[2:-1])
#Hex转换成字符串
#print(out_1)
#print(out_1)
print(type(out_1))
#print(type(data))
‘’’
if count>0:
data=uart.read(count)
if data!=b’’:
#print("receive",str(binascii.b2a_hex(data))[2:-1])
time.sleep(1)
‘’’
uart.close()
该博客内容涉及使用Python进行串口通信,通过`serial`模块连接到COM16端口,以9600波特率发送十六进制数据。然后读取响应,将接收到的数据转换为十六进制字符串,并进一步解析为整数列表。博客着重于数据的收发与格式转换过程。
5303

被折叠的 条评论
为什么被折叠?



