串口中读到的数据是QByteArray形式的,也就是字节数组形式的。 数据处理就是将字节数组转化为具体的float, int, double
方法:使用memcpy方法,直接将字节数组放入数据的存储位置:
void MainWindow::ProcessInputData(QByteArray inputdata)//函数说明:将串口接收到的字节数组inputdata转化为各种数据类型的数据
{
QByteArray data1;
data1=inputdata.left(4);
memcpy(&acceleration_x,data1,4); //之前定义的变量 float acceleration_x;
inputdata.remove(0,4);
data1=inputdata.left(4);
memcpy(&acceleration_y,data1,4); //之前定义的变量 float acceleration_y;
inputdata.remove(0,4);
}