串口调试助手QT程序RYCOM·

Qt5串口调试助手(4)--串口数据发送及接收

Hugh

Hugh

1511 0

1.串口数据发送

串口数据发送流程为:在串口已经成功打开的情况下,将发送文本框中的内容通过串口发送出去,流程如下图。

step1:从界面设计处转发送按钮槽函数

step2:发送按钮槽函数代码编写,读取发送区文本,数据格式化,并调用函数发送数据

void MainWindow::on_pushButtonSend_clicked()
{
   QByteArray ComSendData;
   QString SendTemp;
   int temp;

   //读取发送窗口数据
   SendTemp = ui->TextSend->toPlainText();
   ComSendData = SendTemp.toLocal8Bit().data();//获取字符串

   //发送数据
   temp = MyCom.write(ComSendData);
}

2.串口数据接收

当计算机串口接收到数据之后,会发出接收到数据信号 SIGNAL(readyRead()),我们需要将他关联到接收数据的处理函数 MyComRevSlot()。因此,使用 QT 的 connect()函数完成关联,在 mainwindows.cpp 的构造函数中添加如下代码:

//串口接收函数关联
connect(&MyCom,SIGNAL(readyRead()),this,SLOT(MyComRevSlot()));

关联完成后,只要串口完成数据的接收,便会直接进入该函数进行数据处理。

在 mainwindows.cpp 的串口接收函数 MyComRevSlot()中完成数据处理,具体内容为接收数据,格式化,并显示到接收区。

/***********************************************************
 *串口接收槽函数
 * 1.接收数据,并显示在接收窗口
 ***********************************************************/
void MainWindow::MyComRevSlot()
{
    QByteArray MyComRevBUff;//接收数据缓存
    QString StrTemp;

    //读取串口接收到的数据,并格式化数据
    MyComRevBUff = MyCom.readAll();
    StrTemp = QString::fromLocal8Bit(MyComRevBUff);

    ui->TextRev->insertPlainText(StrTemp);//显示数据
    ui->TextRev->moveCursor(QTextCursor::End);//光标移动到文本末尾
}

3.小结

本小节完成了串口的基本发送和接收功能。注意:不是从设计界面生成的槽函数,记得在头文件中进行函数声明。

所属系列

从当前文章继续阅读它所在合集中的前后内容。

QT5串口调试助手RYCOM 第 5 / 14 篇
查看合集

手把手教你设计基于Qt5的串口调试助手,只需创建一个项目,一套代码,可实现跨越windows、linux、MacOS三大操作系统桌面应用软件。

相关文章

优先推荐同专题、同标签和同作者内容,补足热门文章。

评论 0

登录 后参与评论

评论

成为第一个评论的人