找回密码
 立即注册
收起左侧

关于串口readall后获得数据如何保存到结构体中

2
回复
7428
查看
[复制链接]
累计签到:1 天
连续签到:1 天
来源: 2016-9-30 08:54:24 显示全部楼层 |阅读模式
6Qter豆
在网上看了一个教程做了一个串口助手,代码如下。但是我现在需要将收到的数据保存到根据通信协议编写结构体中(发送时候也保存进结构体了),来进行接收到数据的判断。第一次接触,希望有人给我点提示,实在不知道如何下手,或者给我一个demo让我理解下

void ComDialog::ReadMyCom()
{
    //读取串口数据
    QByteArray byte_data = myCom->readAll();

    //将读取到的数据进行转化


        char  *str = byte_data.toHex().data();



        //将数据显示在主窗口的文本浏览器中
       // main_ui->ReceiveDatatextBrowser->insertPlainText(strDisplay);
}

回复

使用道具 举报

累计签到:10 天
连续签到:1 天
2016-9-30 10:37:53 显示全部楼层
例如你的结构体是struct ComData dt;

//首先将收到的数据进行拼接到结构体长度(大于也可以)
//拷贝到结构体
memset(&dt, 0, sizeof(struct ComData));
memcpy(&dt, byte_data.data(), sizeof(dt));
//然后校验头,尾,其他
//出现错误数据,移除,重新接收,拼接数据
回复

使用道具 举报

累计签到:11 天
连续签到:2 天
2016-9-30 17:04:11 显示全部楼层
下位机为什么不先封包、上位机解析、这样不更好、我就是这样做的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了