zoukankan      html  css  js  c++  java
  • Qt之串口编程使用事件驱动来触发接收数据

      
       用到的类: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信号和实现接受数据的槽连接,这些每当有数据接收的时候就可以调用这函数来现实了。
  • 相关阅读:
    MapReduce&Yarn
    Linux网络配置问题
    Linux命令总结
    Hadoop优化&新特性
    Zookeeper
    idea中修改注释颜色
    Linuxbash未找到命令问题
    Hadoop3.0入门
    HDFS
    SpringBoot
  • 原文地址:https://www.cnblogs.com/nixianmin/p/3100279.html
Copyright © 2011-2022 走看看