首页 > 解决方案 > 从连接到串行端口的设备丢失数据

问题描述

我有一个通过 USB(虚拟串口)连接的秤

有一个打印按钮来发送数据,当我按下按钮足够快时,我没有收到所有数据。

存储在列表中的项目是以太不完整或,或为空

看起来我没有得到所有的信息

这是完整的代码:

import serial
import time
import sys

x = []

def device_receave_data():
    try:
        z1serial = serial.Serial(port='COM6', baudrate=2400, bytesize=7, parity=serial.PARITY_NONE,stopbits=2)
        if z1serial.is_open: # returns true or false
            print("port open")
            while z1serial.is_open:
                size = z1serial.inWaiting()

                if size:
                    data = z1serial.read(size)

                    dec_data = data.decode()
                    print(str(dec_data))
                    x.append(str(dec_data))
                    if len(x)>5:
                        break
                else:
                    time.sleep(0.1)

        else:
            print("not")

    except serial.serialutil.SerialException:
        print("not open")

device_receave_data()

for i in x:
    print('data ', i)

print(len(x))

标签: python-3.xserial-portdevicepyserial

解决方案


推荐阅读