Не получается Записать или Прочитать данные по COM порту pyqt 5 используя библиотеку qtserialport

Не получается ПрочитатЬ данные по COM порту между ноутбуками. Использую библиотеку qtserialport pyqt 5. Ошибок не возникает. Линия и порты исправны так как все получается если пользоваться специальной утилитой COM Port Toolkit 4.0. По отдельности пробовал читать тоже безрезультатно, но запись данных получается. Оказалась проблема была что нет waitForReadyRead для чтения данных. Пример ниже рабочий.

# -*- coding: utf-8 -*-
import time
from PyQt5 import QtCore, QtWidgets
from PyQt5.QtCore import QIODevice, QBitArray
from PyQt5.QtSerialPort import QSerialPort, QSerialPortInfo


class MyWindow(QtWidgets.QWidget):
    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent)
        self.label = QtWidgets.QLabel("Нажми кнопку для запуска потока")
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.btnRead = QtWidgets.QPushButton("Чтение")
        self.btnWrite = QtWidgets.QPushButton("Запись")
        self.vbox = QtWidgets.QVBoxLayout()
        self.vbox.addWidget(self.label)
        self.vbox.addWidget(self.btnRead)
        self.vbox.addWidget(self.btnWrite)
        self.setLayout(self.vbox)
        self.btnRead.clicked.connect(self.Read_Buf)
        self.btnWrite.clicked.connect(self.Write_Buf)

        self.serport = QSerialPort()
        self.serport.setBaudRate(9600)
        self.serport.setPortName("COM3")
        self.serport.setDataBits(8)
        self.serport.setParity(0)
        self.serport.setStopBits(1)
        print(self.serport.open(QIODevice.ReadWrite))
        print(self.serport.isReadable())


    def Read_Buf(self):
        strBuf = QBitArray()
        strBuf.resize(100)

        while self.serport.waitForReadyRead(100) == 0:
            count = 1
            strBuf = self.serport.readLine(7)
            print(str(strBuf))
            print(count)
            if len(strBuf) > 0:
                break
            time.sleep(1)


    def Write_Buf(self):
        count = 2
        self.serport.write(b'1111')
        print(count)


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    window = MyWindow()
    window.setWindowTitle("Запуск и остановка потока")
    window.resize(300,100)
    window.show()
    sys.exit(app.exec_())

Ответы (0 шт):