Terminal example for QTSerialPort doesn't work
Ramon last edited by
I want to establish serial communication between BeagleBone Black and a microcontroller at 115200, 8N1 baud rate. I compiled and ran the terminal example provided in QT website http://doc.qt.io/qt-5/qtserialport-terminal-example.html
The terminal example does not work. When I send the data to BBB, an error "Resource temporarily unavailable" pops up on BBB. If I try to press "OK" the LCD screen does not respond, unless the serial transmission from uC is stopped. Then, Input/output error pops up 2 times.
If I press Connect button again, whatever data that was sent before starts appearing on the LCD screen. The data has missing values too. With time, the screen becomes sluggish and further updates become slower.
By the way, I tried receiving the data at 115200, 8N1, using Minicom and it displays the serial data properly. The operating system on BBB is Angstrom Linux with QT Creator 2.8.0 (based on QT 4.8.4, GCC 4.6.1, 32 bit)
Ramon last edited by Ramon
I used Qextserialport from git clone https://code.google.com/p/qextserialport/ and the problem is solved to a great extent.
With Qextserialport, around 4% of the bytes get dropped at 115200 baud. On decreasing the speed to 9600, data reception is much better. Only issue is that of the initial 160-190 bytes that are received, some bytes are missing. After the initial 190 bytes, there is no loss at all. Since the loss seems to be predictable, I plan to append some known value 200 times ahead of the actual data and send the whole sequence. The known value will be neglected at the receiver end in software.