打印
[求助讨论]

Qt上位机

[复制链接]
7954|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
在网上找了个基于qt平台的C++例程,做了个上位机,通过单片机的串口将数据传给电脑。
但是在运行的时候能搜索到串口号,但是得不到温度数据,请问下,
QByteArray mytemp = myserial->readAll();//定义mytemp为串口读取的所有数据  这句话有问题,还是我的通信协议没设置好呢,源码如下所示,谢谢啦
    void Widget::AnalyzeData()
{
    QByteArray mytemp = myserial->readAll();//定义mytemp为串口读取的所有数据
    qDebug()<<"mytemp:"<<mytemp;
    if(!mytemp.isEmpty())
    {
        QString StrI1=tr(mytemp.mid(mytemp.indexOf("T")+1,mytemp.indexOf("P")-mytemp.indexOf("T")-1));//自定义了简单协议,通过前面字母读取需要的数据
        QString StrI2=tr(mytemp.mid(mytemp.indexOf("H")+1,mytemp.indexOf("I")-mytemp.indexOf("H")-1));
        ui->line_Temp->setText(StrI1);//显示读取温度值
        ui->line_zhendong->setText(StrI2);//显示读取湿度值
        float dataI1=StrI1.toFloat();//将字符串转换成float类型进行数据处理
        float dataI2=StrI2.toFloat();//将字符串转换成float类型进行数据处理

使用特权

评论回复

相关帖子

沙发
gaoyang9992006| | 2020-12-3 19:44 | 只看该作者
qDebug()<<"mytemp:"<<mytemp;
这个有输出调试信息吗?
如果没有拿就是你的myserial对象没有创建成功吧?
这个对象你创建的语句发来看看。
给你参考一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

33

帖子

0

粉丝