Qt串口接收到的QByteArray数据存入到Uint类型数组中

具体示例如下:

这里假设,QByteArray数据为A1 B2 C3 D4 E5 F6,即readAll()收到的数据。

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    // 模拟串口接收到的QByteArray类型的数据
    QByteArray serialData;
    serialData.append(static_cast<char>(0xA1));
    serialData.append(static_cast<char>(0xB2));
    serialData.append(static_cast<char>(0xC3));
    serialData.append(static_cast<char>(0xD4));
    serialData.append(static_cast<char>(0xE5));
    serialData.append(static_cast<char>(0xF6));

    // 将接收到的数据按字节存入uint类型的数组
    QVector<uint> dataArray;
    for (int i = 0; i < serialData.size(); i++)
    {
        dataArray.append(static_cast<uint>(static_cast<uchar>(serialData.at(i))));
    }

    // 打印数组中的数据
    qDebug() << "数组中的数据为:";
    for (int i = 0; i < dataArray.size(); i++)
    {
        qDebug() << QString::number(dataArray.at(i), 16);
    }

    // 将数组中的前三个元素赋值给int类型的x、y、z
    int x = dataArray.at(0);
    int y = dataArray.at(1);
    int z = dataArray.at(2);

    // 打印x、y、z的值
    qDebug() << "x的值:" << x;
    qDebug() << "y的值:" << y;
    qDebug() << "z的值:" << z;

    return a.exec();
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值