1.怎样将选择波特率


1)使用if else 的方法
    if(ui->BaudRate->currentText()==tr("9600"))   //根据组合框内容对串口进行设置
       my_serialport->setBaudRate(QSerialPort::Baud9600);
    else if(ui->BaudRate->currentText()==tr("115200"))

2)使用 switch case 的方法
一般使用 if else的方法

2何时去读缓冲区
1)定时器的方法
timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(updateserial()));
// 1s
timer->start(1000);

void Widget::updateserial()
{
requestData = my_serialport->readAll();
if(requestData!= NULL)
{
ui->recivetxt->append(requestData);
}
requestData.clear();
}

2)利用SLOT 函数
connect(my_serialport,SIGNAL(readyRead()),this,SLOT(updateserial()));

一般选用定时器的方式
3怎样将数据显示在文本框中
requestData = my_serialport->readAll();
if(requestData!= NULL)
{
ui->recivetxt->append(requestData);
}


4怎样从文本框中读数据后发送
myCom->write(ui->SendLineEdit->text().toAscii());//在Qt 5中没有toascii

QByteArray TxData;
QString string;
string=ui->sendtxt->toPlainText();
TxData=string.toLocal8Bit();
my_serialport->write(TxData);

5定时发送
int interval = ui->lineEditTime->text().toInt(&ok); //从文本框中获取定时时间
timer = new QTimer();
connect(timer, SIGNAL(timeout()), this, SLOT(timeout()));
timer->setInterval(interval);
timer->start();

6如何存储数据
QString fileName = QFileDialog::getSaveFileName(this, tr("保存数据"),"./",tr("文本文件 (*.txt *.dat);;所有文件 (*.*)"));//获得filename
QFile file(fileName); //新建file对象
file.open(QIODevice::WriteOnly);//打开
file.write(ui->textEditRecv->toPlainText().toAscii());//写入
file.close();//关闭
和串口的操作相同
在linux中建设别当作文件处理,相比Qt 也将设备和文件的操作方式封装成一样



Qt 串口学习3的更多相关文章

  1. Qt 串口学习2

    未命名 (2) 1 新建串口 //new serial portmy_serialport= new QSerialPort(); 2给串口设定名字 my_serialport->setPort ...

  2. QT入门学习笔记2:QT例程

    转至:http://blog.51cto.com/9291927/2138876 Qt开发学习教程 一.Qt开发基础学习教程 本部分博客主要根据狄泰学院唐老师的<QT实验分析教程>创作,同 ...

  3. Qt的学习资料比起其它C/C++的GUI组件来说已经算很全的了

    Qt的学习资料比起其它C/C++的GUI组件来说已经算很全的了.Google的话能解决很多问题,如果没搜到资料的话,如果不是问题太过具体或者奇葩,那就是搜索方法的问题.中文教程中,Qt学习之路系列很不 ...

  4. [转] Qt 多线程学习

    Qt 多线程学习 转自:http://www.cnblogs.com/IT-BOY/p/3544220.html 最近的项目上用到了关于多线程的知识,自己也比较感兴趣,所以就拿了那本<C++ G ...

  5. Qt串口通信

    1. Qt串口通信类QSerialPort 在Qt5的的更新中,新增了串口通信的相关接口类QSerialPort,这使得在开发者在使用Qt进行UI开发时,可以更加简单有效地实现串口通信的相关功能. 开 ...

  6. Qt入门学习——Qt 5 帮助文档的使用

    Qt入门学习——Qt 5 帮助文档的使用 学习图形界面开发,肯定离不开帮助文档的使用,因为它不像 C 语言那样就那么几个函数接口,图形接口的接口可以用海量来形容,常用的我们可能能记住,其它的真的没有必 ...

  7. linux下的qt串口通信

    1.linux下的qt串口通信跟windows唯一的差别就是端口号的名字,windows下面是COM,而linux是ttyUSB0的路径 2.一般情况下linux插上USB转串口线就可以在/dev/目 ...

  8. QT5入门之23 -QT串口编程(转)

    QT5入门之23 -QT串口编程   QT5有专门的串口类: QSerialPort:提供访问串口的功能 QSerialPortInfo:提供系统中存在的串口的信息 具体使用方法: 1.在pro文件中 ...

  9. 【转】QT 串口QSerialPort + 解决接收数据不完整问题

    类:QSerialPort 例程:Examples\Qt-5.9.1\serialport\terminal,该例子完美展示了qt串口收发过程,直接在这上面修改就可以得到自己的串口软件.核心方法 // ...

随机推荐

  1. 线程系列3---ThreadLocal类研究

    2013-12-23 17:44:44 Java为线程安全提供了一些工具类,如ThreadLocal类,它代表一个线程局部变量,通过把数据放在ThreadLocal中就可以让每个线程创建一个该变量的副 ...

  2. Visual Studio Ultimate 2013 with Update 4

    Visual Studio Ultimate 2013 with Update 4 是一个先进的开发解决方案,各种规模的团队通过它均可设计和创建引人注目的应用程序,使用户兴致勃勃. Visual St ...

  3. php获取远程文件大小

    获取本地文件大小filesize()就可以了,但是如何获取远程文件的大小呢? 这里介绍三个方法来获取远程文件的大小. 方法1:get_headers <?php get_headers($url ...

  4. struts2的返回类型

    return 一个字符串,如果是success 直接 服务器端跳转 返回到和方法名对应的页面去 不过如果返回的页面和方法没有太大关系,比如删除修改添加之后要 客户端跳转 返回所有用户列表,这个时候可以 ...

  5. 匹配IP地址的正则表达式 (转)

    正则表达式 ^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[ ...

  6. Python学习路程day7

    多态 class Animal: def __init__(self, name): # Constructor of the class self.name = name def talk(self ...

  7. paramiko堡垒机、线程及锁

    1.使用paramiko实现ssh连接和scp拷贝 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 1.1 SSHClient 用于连接远 ...

  8. 中国省市 JS代码

    很实用的一段JS代码, 用户注册的时候,选择地址常用到.代码如下: <script language="javascript"> var g_selProvince; ...

  9. JAVA的数组和输入

    package com.java1995; import java.util.Scanner; public class Array { public static void main(String[ ...

  10. Apache 的启动/重启/停止

    Task: Start Apache 2 Server /启动apache服务 # /etc/init.d/apache2 startor$ sudo /etc/init.d/apache2 star ...