c++ - 在 Qt Creator 中将串行数据从 QSerialPort 提取到 double 的正确语法是什么?

标签 c++ qt real-time qt-creator

我正在尝试从 arduino 实时传输数据。下面是我如何设置串口:

QSerialPort serial;
QByteArray value0;

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    serial.setPortName("COM3");
    serial.setBaudRate(QSerialPort::Baud9600);
    serial.setDataBits(QSerialPort::Data8);
    serial.setParity(QSerialPort::NoParity);
    serial.setStopBits(QSerialPort::OneStop);
    serial.setFlowControl(QSerialPort::NoFlowControl);
    serial.open(QIODevice::ReadWrite);
}
....

这就是我尝试将串行数据更改为 double 据的方式:

serial.readData();

最佳答案

您应该根据您的设备逻辑将原始字节数组转换为 double 。但如果您通过流式传输将数据发送到另一端,您可以通过以下方式读取它:

QByteArray data = serial->readAll();
QDataStream stream(data);

double value;
stream>>value

关于c++ - 在 Qt Creator 中将串行数据从 QSerialPort 提取到 double 的正确语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24297607/

相关文章:

c++ - OGRE C++ 游戏开发

c++ - QTreeview 增加 View 大小

c++ - QDomNode 命名空间检测工作不正确

Qt ENUMS - setProperty 隐式转换

java - 如何将实时数据(数字)传输到 Android 应用程序?

python - 使用实时视频源监视Python中的模拟量规

c++ - 程序执行步骤

c++ - 从使用 glfw 创建的窗口中删除最大化按钮

c++ - 是否有可在 Visual Studio 中编译的可用和许可版本的 strptime.h?

javascript - 实时应用程序 : Socket. io 与 Pusherapp