QT Serial port receives hexadecimal data displayed in a text box
Source: Internet
Author: User
Read serial port void myserial::readmycom () { qbytearray temp; if (myCom-> Bytesavailable () >= 8) { temp = myCom- >readall (); Read serial buffer data } qdatastream out (&temp,qiodevice:: ReadWrite) //reads a byte array into while (!out.atend ()) { qint8 outchar = 0; out>>outChar; //padding once per byte until end QString str = QString ("%1"). Arg (Outchar&0xff,2,16,qlatin1char (' 0 ')); Conversion of //16 binary Recbrowser->insertplaintext (str); } recbrowser->insertplaintext (tr ("\ n"));
The data I want to receive is very long, "01 03 24 01 19 ... XX D5 F6 "in the middle omit a large section, in order to receive this data into a string, refer to the QT Forum article, summarized as follows:
Qbytearray tmp; if (highcom->bytesavailable () >=) {tmp = Highcom->readall (); Qdatastream out (&tmp,qiodevice::readwrite); while (!out.atend ()) {qint8 Outchar = 0; out>>outchar; QString str = QString ("%1"). Arg (Outchar&0xff,2,16,qlatin1char (' 0 ')); Strhex + = str; } qdebug () <<strHex; }
The Strhex is the stored receive hexadecimal data.
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.