C++ 从端口读取时缺少qserialport数据,但返回9个可用字节

C++ 从端口读取时缺少qserialport数据,但返回9个可用字节,c++,qt,qt4,qtserialport,qextserialport,C++,Qt,Qt4,Qtserialport,Qextserialport,使用qextserialportclass的函数readdata从端口读取数据时,会发生数据丢失 例如,serialobj->bytesavable返回9个字节,但根据注释判断,serialobj->readData仅从pic微控制器返回两个字符,您试图将接收到的字节打印到控制台。显然,您尝试打印的某些字节是不可打印的,并且不会产生视觉输出 也许您希望看到以十六进制为基数的字节值: qDebug() << serialObj->readData().toHex(); qDeb

使用
qextserialport
class的函数readdata从端口读取数据时,会发生数据丢失


例如,
serialobj->bytesavable
返回9个字节,但根据注释判断,
serialobj->readData
仅从pic微控制器返回两个字符,您试图将接收到的字节打印到控制台。显然,您尝试打印的某些字节是不可打印的,并且不会产生视觉输出

也许您希望看到以十六进制为基数的字节值:

qDebug() << serialObj->readData().toHex();
qDebug()readData().toHex();

在readData()的文档中,我看到readData返回一个整数。(从设备中最多读取maxSize字节到数据中,并返回读取的字节数,如果发生错误,返回-1。)。您有哪个值?我有接收的总字节数,char arr_cReadbuffer[1024];int nBytesAvailable=m_serialportCoProcessor->bytesavaailable();qDebug()您应该编辑您的文章,在适当的标记之间添加代码,因为它不可读。@TeamSwatkats这些字节是不可打印的,所以打印它们不会产生可见的输出。我如何接收所有字节?是否有means@TeamSwatkats您已收到字节。他们在那里。你就是看不到它们,因为它们不可打印。这有什么难懂的?并非所有字节都对应于可打印字符。