个人见解: USB 转 232 一般为了提高USB数据包的载荷率, 会有一个延迟计时器, 以便将一段时间内的数据组成USB数据帧, 可能在这段时间内的数据超过了缓冲区长度, 可以在驱动设置中降低这个设置值,
或者 SetupComm 加大缓冲区长度
或者 SetupComm 加大缓冲区长度
解决方案 »
- 如何动态加载ocx
- 问一个海量数据存储的问题?
- 如何开发大屏幕系统
- MSComm与51单片机之间的通讯问题?
- 有点奇怪
- 一个面临就业爱好VC,却不知水平很差的自己是否坚持学VC,愿听大家的见解
- 为什么 CRichEditCtrl 只能粘贴进 32767 个字符?如何突破该限制?
- ***菜单图标添加问题!,急急死我了,按书照般下来的代码,竟然出错,高手指正****
- wstring的头文件是什么?#include <iostream> #include <string> #include <stdio.h>都不行!
- 请教vc高手:CArchive 类的用法!!!!请给出详细的范例!在线等!急。。。。。
- 响应列表控件的表头单击事件,弹出模态对话框后,主对话框的表头竟然还能继续响应单击事件
- CButtonST透明背景的问题
将串口超时参数调大些试试
1.连接线使用USB转RS-232
2.PC端接收数据的同时,发送数据。
3.发送数据的速度大于接收数据的速度。发送速度越快,数据丢失率越高。发送速度越慢,数据丢失率越低。解决方法是:
将 WriteChar(CSerialPort* port) 内部的
PurgeComm(port->m_hComm, PURGE_RXCLEAR | PURGE_TXCLEAR | PURGE_RXABORT | PURGE_TXABORT);
改为:
PurgeComm(port->m_hComm, PURGE_TXCLEAR | PURGE_TXABORT);
But,为什么在不修改代码的情况下,直接使用RS-232连接线不会出现数据丢失的情况呢??清空接收缓冲区了,数据接收为什么没有丢失??