Python串口16进制发送数据与接收数据

该博客内容涉及使用Python进行串口通信,通过`serial`模块连接到COM16端口,以9600波特率发送十六进制数据。然后读取响应,将接收到的数据转换为十六进制字符串,并进一步解析为整数列表。博客着重于数据的收发与格式转换过程。
部署运行你感兴趣的模型镜像

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()

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

Python中,可以使用串口助手接收16进制数据。首先,你需要导入serial、time和binascii模块。然后,你可以使用serial.Serial函数初始化串口。接下来,你可以使用bytes.fromhex函数将文本转换为16进制数据,并使用串口的write方法发送数据接收数据时,你可以使用串口的inWaiting方法获取可用的数据字节数,然后使用串口的read方法读取数据。最后,你可以使用binascii.b2a_hex函数将16进制数据转换为字符串输出。下面是一个示例代码: ```python import serial import time import binascii s = serial.Serial("COM3", 9600) # 初始化串口 while True: Hex_str = bytes.fromhex('10 11 12 34 3f') # 文本转换为Hex s.write(Hex_str) # 串口发送数据 n = s.inWaiting() # 串口接收数据 if n: data = str(binascii.b2a_hex(s.read(n)))\[2:-1\] # Hex转换为字符串 print(data) # 字符串输出 time.sleep(1) ``` 这段代码会不断发送16进制数据,并接收并打印接收到的数据。你可以根据自己的需求修改代码中的串口号、波特率和发送的数据。 #### 引用[.reference_title] - *1* [python串口接收高八位和低八位的十六进制数](https://blog.youkuaiyun.com/qq_51963216/article/details/125847424)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Python串口16进制发送数据接收数据](https://blog.youkuaiyun.com/Sc_down1996/article/details/120966549)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值