Wrong data from qextserialport
-
using Qt4.7 on Windows, I have created and opened the serial port in event mode. when the device sends its data, I don't get the same values as sent.
Device sends:
0x5A 0xF2 0x01 0x04 0xb3I receive:
0x5A 0xF2 0x40 0x41 0xF6If I receive the data into Hyperterminal and save it to a file, I get the correct data. I don't see what I am doing wrong.
Any ideas?
Many thanks,
Craig -
creating the port:
@serialPort = new QextSerialPort(port, QextSerialPort::EventDriven);
@
where port is "COM26"
after the port is created, I set the baud, parity, stop_bits, flow control, etc.
opening the port:
@
serialPort->open(QIODevice::ReadWrite | QIODevice::Unbuffered);
@I have tried it with Unbuffered and without
in the OnDataAvailable SLOT:
@int avail = serialPort->bytesAvailable(); if(avail < 1) return; QByteArray usbdata; usbdata.resize(avail); int read = serialPort->read(usbdata.data(), usbdata.size()); if(read<1) return; for(i=0; i<usbdata.size(); i++) { rx_char = usbdata[i];
@
process rx_char...
I have looked at usbdata (which is a QByteArray) and it has the data as I posted previously as the receive data. Also, rx_char of course gets the same data, just on char at a time.
-
Try using QSerialDevice 2.0.
Read this "thread":http://developer.qt.nokia.com/forums/viewthread/11634/#67246