自学Qt之路——串口编程(使用自带Qt库)

之前学习嵌入式驱动,做一个红外摄像头的项目,在操作系统之上直接操作LCD显示屏,显示图像。后来听说Qt能够跨平台,跨windowAndroidLinux三个平台,而且做项目必须有个图形界面,看起来高大上。之后根据这个项目需要,自学Qt5.6,写个博客记录一下自己学习过程。

之前看过Qt的基本操作,一些类的用法,还有信号与槽的机制。

开始着手项目,首先是串口通信。通过万能的度娘,发现编写串口通信,有两种方法:

一是QT本身自带的模块,QSerialPort库和QSerialPortInfo库,在相应的头文件加上这两个库:

[cpp]  view plain  copy
  1. #include <QtSerialPort/QSerialPort>  
  2. #include <QtSerialPort/QSerialPortInfo>  


在头文件中声明私有对象:

[cpp]  view plain  copy
  1. QSerialPort  *my_serialport=new  QSerialPort;  

在函数中开始设置串口的各种参数:

[cpp]  view plain  copy
  1. my_serialport->setPortName(portnum);//设置串口名字,可以换成(“COM4”)  
  2. my_serialport->open(QIODevice::ReadWrite);//以读写的方式打开串口  
  3. my_serialport->setBaudRate(QSerialPort::Baud115200,QSerialPort::AllDirections);//设置波特率  
  4. my_serialport->setDataBits(QSerialPort::Data8);//设置传输数据位,设为8位  
  5. my_serialport->setParity(QSerialPort::NoParity);//设置没有校验位  
  6. my_serialport->setStopBits(QSerialPort::OneStop);//设置一位停止位  
  7. my_serialport->setFlowControl(QSerialPort::NoFlowControl);//设置没有数据流控制  

关闭串口:

[cpp]  view plain  copy
  1. my_serialport->close();  

读取缓冲区的数据:

[cpp]  view plain  copy
  1. QByteArray requestData=my_serialport->readAll();  

等待缓冲区有几个字节再读取:

[cpp]  view plain  copy
  1. if(my_serialport->waitForReadyRead(5))//等待是否有5个字节  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值