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