我正在用qt开发一个桌面应用程序,它与stm32通信以发送和接收数据。问题是,要传输的数据遵循定义良好的形状,具有预先定义的字段。我的问题是我找不到read ()或readall()是如何工作的,或者Qserialport是如何处理数据的。所以我的问题是,我如何读取数据(实时地,只要缓冲区中有数据),并逐个字段(或每个字节)分析它,以便在GUI中显示。
发布于 2017-05-01 05:12:20
这很简单。read()和readAll()提供字节,可以选择包装在QByteArray中。如何处理这些字节由您决定。串口不会以任何方式“处理”或解释数据。
主要的混淆之处在于,不知何故,人们认为串行端口就像是面向数据包的接口。事实并非如此。当readyRead()信号触发时,您所能保证的就是至少有一个新字节可供读取。你必须处理这样的碎片化。
https://stackoverflow.com/questions/43705242
复制相似问题