Qt串行通信库 QextSerialPort需要注意的问题 便签
来源:互联网 发布:大时代数据 编辑:程序博客网 时间:2024/06/05 08:23
通过对部分源代码的学习,发现可能遇到的问题包括以下几个,并没有进行测试:
1. 赋值运算符重载
Win_QextSerialPort& Win_QextSerialPort::operator=(const Win_QextSerialPort& s);
实现时没有采用其他构造函数开头的 Win_Handle=INVALID_HANDLE_VALUE;
语句,不知道是为什么,暂不使用此函数。
2. RTS/CTS
void Win_QextSerialPort::setFlowControl(FlowType flow)
QextSerialPort提供三种流控方式:
- FLOW_OFF 不使用流控
- FLOW_HARDWARE 硬件(RTS/CTS)流控
- FLOW_XONXOFF 软件(XON/XOFF)流控
RTS/CTS流控是针对数据发送的,对数据的接收没有控制
备注:
QextSerialPort对发送进行操作:
- dcb.fOutxCtsFlow
- dcb.fRtsControl
WINAPI还提供对接收进行操作:
- DCB::fDtrControl
- DCB::fDsrFlow
- DCB::fDsrSensitivity
3. 数据位和停止位
每次修改数据位或停止位的时候都会判断是否允许转换。
如果要从8N2转换成5N1.5,必须采用8N2—>8N1—>5N1—>5N1.5的方式,因为8N1.5和5N2均不能转换成功。
由于默认的是8N1模式,因此在初始化过程中按照 先设数据位、后设停止位 的方法总是没有问题的。
4. 时限设置
void Win_QextSerialPort::setTimeout(long millisec)
没看懂这个函数的编写逻辑,估计是对WINAPI不理解的原因
5. hEvent
qint64 Win_QextSerialPort::writeData(const char *data, qint64 maxSize)
中有这样一句 overlapWrite.hEvent = CreateEvent(NULL, true, false, NULL);
建立了一个事件的句柄,然而并没有找到这个句柄在哪儿被销毁
- Qt串行通信库 QextSerialPort需要注意的问题 便签
- Qt串口通信QextSerialPort类
- socket通信需要注意的问题
- Qt中需要注意的基本问题
- Qt串口类库QExtSerialPort的安装与简单使用
- 一个QT信号与槽需要注意的问题
- 关于编写QT国际化程序中需要注意的问题
- 需要注意的问题
- 需要注意的问题
- qt使用qextserialport-1.2rc进行串口通信编程
- win Qt qextserialport 编写串口通信程序全程图文讲解
- Qt qextserialport类 发送数据大于127 发生错误既最高位置零的问题
- qextserialport.1.2win-alpha2的编译问题
- socket通信需要注意的地方
- Qt扩展QextSerialPort类
- 关于QT需要注意的几个问题
- Qt 一些需要注意的点
- 需要注意的小问题
- [LeetCode]Unique Binary Search Trees II
- PostgreSQL学习笔记6之函数和操作符<二>
- conn.getInputStream 显示为空指针
- shm_open 与 open
- Linux文件类型概述
- Qt串行通信库 QextSerialPort需要注意的问题 便签
- getResourceAsStream的用法
- C++中指针与引用的关系
- sublime text 删除安装的插件
- 周鸿祎教你怎么做产品经理
- Jsoup的简单使用
- day2:
- 118 js arale.dialog dialog嵌套时候改变关闭按钮的显示和隐藏状态
- 【Cocos2d-x源码分析】 Cocos2d-x内存管理解析