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. ActiveX 技术疑点 一

    1.编写基于MFC Activex 使用 静态库 .lib , MFC 的使用 在静态库中使用MFC . 生成ocx 文件 注册失败.提示: ***还是一个可执行文件,没有为这个文件类型注册的注册帮助 ...

  2. [开发笔记]-WindowsService服务程序开发

    Windows服务:Microsoft Windows 服务(即,以前的 NT服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可 ...

  3. ios应用数据存储的常用方式 ios7.1应用沙盒

    归档:用某种格式保存某个对象,又称持久化. 1XML 属性列表plist归档(持久化) 2Preference(偏好设置) 3NSKeyedArchiver归档 4SQLite3 5Core Data ...

  4. Failed to instantiate the default view controller for UIMainStoryboardFile 'Main'

    给UITableViewController 展示数据时候 删除系统自带viewController 然后拖过来一个UITableViewController 指定class后没有指定main入口 报 ...

  5. English test for certificate

    <英语口译全真试题精解> GPA 3.5 (MTI)  (CPA) ( GRE )  1350分+3.5以上 SAT ( TOEFL )  100分以上 TOEIC BEC (剑桥商务英语 ...

  6. android 通知栏 notifcation

    http://blog.csdn.net/guolin_blog/article/details/50945228  郭神的博客 final NotificationManager manager = ...

  7. LoadImage函数问题

    loadimage函数加载图片类型 Value Meaning IMAGE_BITMAP Loads a bitmap. IMAGE_CURSOR Loads a cursor. IMAGE_ICON ...

  8. Ubuntu 14.10 下网络流量实时监控ifstat iftop命令详解

    ifstat 介绍 ifstat工具是个网络接口监测工具,比较简单看网络流量 实例 默认使用 #ifstat eth0 eth1 KB/s in KB/s out KB/s in KB/s out 0 ...

  9. ICTCLAS50中文分词软件“Init ICTCLAS failed!”问题

    if (!ICTCLAS_Init(Server.MapPath("ICTCLAS50")))            {               Response.Write( ...

  10. "无意义"的div和span标签

    HTML <div> 元素是块级元素,它是可用于组合其他 HTML 元素的容器.<div>元素没有特定的含义.除此之外,由于它属于块级元素,浏览器会在其前后显示折行.如果与 C ...