QT5.2 串口编程

来源:互联网 发布:淘宝购物返利 编辑:程序博客网 时间:2024/06/15 12:23

最近,在学习QT的编程,之前在大学的时候自己学习过这方面的知识,但是一直没有真正的使用过,这次是一次很好的机会,串口数据的接收和发送,使用信号槽监听的方式对串口进行接收,为了接收到完整的数据包,需要做一定的延时处理,实现代码如下:

    //读取数据(采用定时器读取数据,不采用事件,方便移植到linux)
    myReadTimer=new QTimer(this);
    myReadTimer->setInterval(300);//300ms
    connect(myReadTimer,SIGNAL(timeout()),this,SLOT(ReadMyCom()));
    //发送数据
    mySendTimer=new QTimer(this);
    mySendTimer->setInterval(5000);
    connect(mySendTimer,SIGNAL(timeout()),this,SLOT(WriteMyCom()));
下面就是定义槽函数:

    void ReadMyCom();//读取串口数据
    void WriteMyCom();//写串口数据
最后在这两个槽函数的实现部分利用QextSerialPort类中的readAll()和write()函数进行串口的读写,在编译之前要在.pro文件中加入
QT       += serialport
才能正常使用QextSerialPort类。

0 0