qq_40931330 2018-05-18 04:23 采纳率: 0%
浏览 2122
已结题

关于qt读取串口的求助

初学qt,在读取串口数据时遇到了一点问题,就是我用arduino写好的程序一直往电脑发数据,在用串口助手看时是正确的显示结果,但是我写的读取串口的程序读出来全是0,不知道是什么原因,代码及结果附在下面。

 #include "mainwindow.h"
#include "init.h"
#include <QApplication>
#include <QSerialPortInfo>
#include <QtSerialPort>
#include <QDebug>

#define BUFFSIZE 100
main(int argc, char *argv[])
{
    QByteArray Data="SA";
    ///串口初始化
    QSerialPort *serial = new QSerialPort("COM3");
//   QObject::connect(serial, SIGNAL(readyRead()), this, SLOT(ReadData()));

    serial->setBaudRate(QSerialPort::Baud9600);
    serial->setParity(QSerialPort::NoParity);
    serial->setDataBits(QSerialPort::Data8);
    serial->setStopBits(QSerialPort::OneStop);
    serial->setFlowControl(QSerialPort::NoFlowControl);
    if (serial->open(QIODevice::ReadWrite)) {
        qDebug()<<"open success";
    } else {
        qDebug()<<"open failed";
    }
    while(1){
//        if(serial->bytesAvailable()>BUFFSIZE){
            Data=serial->readAll();
            qDebug()<<Data.toInt()<<"1  ";
//        }
    }
    return 0;
}

图片说明

  • 写回答

5条回答 默认 最新

  • 白色一大坨 2018-05-18 04:27
    关注

    助手正常说明你发送那端没问题,那么你确认一下你自己做的接收程序的串口参数是不是都作对了,如果已经作对了参数依然无法进行通讯,不妨在本地电脑先用串口助手来对你的接收程序进行调试,这样才方便找出问题

    评论

报告相同问题?

悬赏问题

  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试