#DataPort库
###简介 DataPort是一个封装后的Qt通信类,数据的读写在子线程中进行,不会阻塞主线程,其通信类包括串口类和网口类 里面使用的是Qt的框架,线程间通信使用信号槽机制,子线程采用movetoThread方法 ###使用方法 实例化DataPort对象,构造函数选择串口或网口枚举参数,之后写入数据调用write();读取数据接收sig_received();监控错误信息sig_error();
//串口使用示例
DataPort* obj = new DataPort(DataPort::SERIAL_PORT);//实例化DataPort对象
//连接信号槽,负责处理接收数据以及错误信息
connect(obj, SIGNAL(sig_received(QByteArray)), this, SLOT(/*数据接收槽函数*/));
connect(obj, SIGNAL(sig_error(QString)), this, SLOT(/*错误处理槽函数*/));
connect(obj, SIGNAL(sig_opened()), this, SLOT(/*串口打开成功处理槽函数*/));
connect(obj, SIGNAL(sig_closed()), this, SLOT(/*串口关闭成功处理槽函数*/));
//打开串口
obj->open("COM1", 115200);//Windows
//obj->open("ttyUSB0", 115200);//Linux上用的USB转串口
//需要写数据时
obj->write();
//关闭串口
obj->close();
/////////////////////////////////////////////////////////////
//网口使用示例
DataPort* obj = new DataPort(DataPort::TCP_PORT);//实例化DataPort对象
//连接信号槽,负责处理接收数据以及错误信息
connect(obj, SIGNAL(sig_received(QByteArray)), this, SLOT(/*数据接收槽函数*/));
connect(obj, SIGNAL(sig_error(QString)), this, SLOT(/*错误处理槽函数*/));
connect(obj, SIGNAL(sig_opened()), this, SLOT(/*网口连接成功相关处理*/));
connect(obj, SIGNAL(sig_closed()), this, SLOT(/*网口连接失败相关处理*/));
//连接主机
obj->open("192.168.1.22", 66);
//需要写数据时
obj->write();
//关闭串口
obj->close();###参考来源