首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >qextserialport正在将

qextserialport正在将
EN

Stack Overflow用户
提问于 2012-11-21 18:06:13
回答 1查看 314关注 0票数 0

我正在使用QExtSerialPort来读取usb设备,但是我在读取通过串口发送的数据时遇到了问题。数据以100到1000 The之间的速率发送,有时数据会粘连在一起。例如,如果数据的大小为18字节,则大多数情况下读取18字节,但有时读取36或54字节等。这特别是当我让我的计算机做其他事情的时候发生的。我使用的代码如下:

代码语言:javascript
复制
QextSerailPort port = new QextSerialPort("COM11")
QByteArray data;

connect(port, SIGNAL(readyRead()),this, SLOT(DataAvailable()));

void MainWindow::DataAvailable()
{
    while(!(port->bytesAvailable()));
    data = port->readAll();

    qDebug() << data.toHex();
}

有谁有解决方案吗?

EN

回答 1

Stack Overflow用户

发布于 2012-11-21 18:12:34

串行端口和TCP链路一样,都是字节流。您不能传输消息、字符串、结构或任何大于一个字节的内容。

您必须有一个协议可以从字节流中解析出消息/任何内容。别无他法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13490766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档