我正在尝试从 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/