Qt5--串口发送文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_28877125/article/details/87400644

创建一个串口工程

在这里插入图片描述

定义两个全局变量

QByteArray binByteArray;
int        dataLen=0;

打开文件

QString initialName;
QString fileName =
        QFileDialog::getOpenFileName(this,tr("choose file"),initialName);  //at the path:initialName ,user choose which file to upload
fileName = QDir::toNativeSeparators(fileName);
if(!fileName.isEmpty())
{
    ui->textEdit->append(fileName);
    QFile file(fileName);
   ui->textEdit->append("\n");
   if(!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
       qDebug()<<"Can't open the file!"<<endl;
   }
 //  QDataStream in(&file);
//   datalen = in.readRawData(dataBuf,10);
//   serial->write(dataBuf,10);
   while(!file.atEnd())
   {
       //QByteArray buf = file.readLine(512);
       binByteArray.append(file.readLine(512));
   }
   dataLen = file.size();
   ui->textEdit->append(QString("%1").arg((dataLen)));
   ui->textEdit->append("\n");
   //ui->textEdit->append(binByteArray.toHex());

   file.close();
 }

发送文件

int length=0;
length = sizeof(binByteArray)>>10;
ui->textEdit->append(QString(length));

serial->write(binByteArray);
//serial->write(InsyncData,sizeof(InsyncData));
//plainTextEdit->insertPlainText(binByteArray.toHex());
ui->textEdit->append(tr("\n send OK \n"));

猜你喜欢

转载自blog.csdn.net/qq_28877125/article/details/87400644