Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-63298

QSerialPort::write() misses some characters when trying to write more than 1 byte at time

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Not Evaluated
    • Resolution: Cannot Reproduce
    • Affects Version/s: 5.9.1
    • Fix Version/s: 5.9.1
    • Component/s: Serial Port
    • Labels:
      None
    • Environment:
      Windows 10 Qt5.9.1 and Qt5.6.0

      Description

      I've been facing this issue in Qt5.6.0 and Qt5.9.1. When you try to write more than 1 byte then the second character is never written. Not only the second because if you write a long buffer you will miss several characters at different positions. But at least the second will be missing.

      I've attached a simple program to show the problem. In the main.cpp comment eitherĀ 

      s->write("test");

      or

      s->write1per1("test");

      and run the program.

      When using "write" you will see that you receive the string "tst" but when you use "write1per1" you will receive the correct string "test". You will need to connect to a comport just echoing the characters it receives. If you can't setup this test I can provide a short video showing the problem.

      Here is the test program https://www.dropbox.com/s/ar4p18ymwe3ikc4/testserial.zip?dl=0

      (JIRA fails to attach this file ...)

        Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            • Assignee:
              kuzulis Denis Shienkov
              Reporter:
              vfloyd Vincent Bonvalot
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Gerrit Reviews

                There are no open Gerrit changes