потеря данных с устройства, подключенного к последовательному порту - PullRequest
0 голосов
/ 05 марта 2020

У меня есть весы, подключенные через 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))
...