Qt之串口编程--使用事件驱动来触发接收数据

本文介绍如何使用QextSerialBase和Win_Qextserialport类进行串口通信配置。主要内容包括设置串口名称、波特率等参数,以及采用事件驱动模式通过readyRead信号接收数据。
  
   用到的类:Qextserialbase和Win_Qextserialport,这两个类不是库里自带的,需要百度下,可以找到这两个类的源文件。
   在使用的时候,我定义了一个Win_QextSerialPort类的对象myCom,要想执行myCom.open(QIODevice::ReadWrite)之前必须先执行myCom.setPortName(n)来设置串口的名字,不然会返回错误。之后就可以设置波特率一些参数,使用中发现波特率之类要在open之后才有效,如果在open之前就设置了,可能这个设置会无效,看了源码发现在设置之前会用isOpen()判断。
 
   还有个比较好用的设置就是:
   
myCom.setQueryMode(QextSerialBase::EventDriven);//设置事件驱动
   默认的设置都是用QextSerialBase::Polling,这种我只能用定时器来做了,还有该设置也要放在open之前
   这样我们就可以用: 
   
connect(&wincom.myCom,SIGNAL(readyRead()), this,SLOT(DisReiveData()));//收到数据
   将myCom的readyRead信号和实现接受数据的槽连接,这些每当有数据接收的时候就可以调用这函数来现实了。

转载于:https://www.cnblogs.com/nixianmin/archive/2013/05/26/3100279.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值