python脚本实现串口通讯收发,并测试延时时间

您所在的位置:网站首页 串口侦听软件 python脚本实现串口通讯收发,并测试延时时间

python脚本实现串口通讯收发,并测试延时时间

2023-05-18 06:07| 来源: 网络整理| 查看: 265

1:先配置基本的串口参数; 2:发送数据之后就进入接收模式,数据接收成功之后计算收发之间的时间差,并打印发送次数和时间差; 3:再进入发送模式循环发送接收; 4:没有设备端的话,就短接串口的TX和RX,自收自发;

# 测试串口通讯延时 # 发送数据之后就进入接收模式,数据接收成功之后计算收发之间的时间差 # 再进入发送模式循环 import serial import time # 测试数据 send_data = bytes([ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38, ]) # 设置串口号和波特率 serial_baud = 115200 ser = serial.Serial('COM110', serial_baud) # 设置串口号和波特率 send_flag = 1 # 发送接收标志 send_cnt = 0 # 发送次数 print("start baud={0} data_len = {1}".format(serial_baud, len(send_data))) while True: if send_flag == 1: # 发送数据,避免发的太快加一点延时 time.sleep(1) # print("send_data") send_cnt = send_cnt + 1 # print(f'Sending: {send_data}') time_start = time.time() # 记录开始发送时间 # print("send_time-{0}".format(time_start)) ser.write(send_data) send_flag = 0 else: if ser.in_waiting > 0: # 如果有数据可读 # print("reveive_data") data = ser.read(len(send_data)) # 读取接收到的数据 # print(f'Received: {data}') # 打印接收到的数据 time_end = time.time() # 记录接收时间 # print("reveive_time-{0}".format(time_end)) time1 = time_end - time_start # 计算发送和接收时间差 print('check {0}, Time: {1:.6f} seconds'.format(send_cnt, time1)) time.sleep(3) send_flag = 1

测试日志

start baud=115200 data_len = 32 check 1, Time: 0.005994 seconds check 2, Time: 0.002264 seconds check 3, Time: 0.002105 seconds

可以自行修改发送内容,获取发送多少次之后自动停止等功能



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3