w00d
驱动牛犊
驱动牛犊
  • 注册日期2001-09-25
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1057回复:0

用VxD做过串口程序的大侠快来帮帮忙....

楼主#
更多 发布于:2002-01-10 16:08
最近在用VxD编写串口程序时碰到了一个问题没有办法解决,各位大侠请帮帮忙.
我使用重叠IO的方法在读线程中对读入的数据进行处理,流程如下:
1.用DeviceIoControl通知VxD锁定内存页并准备接收数据,然后在
GetOverlappedResult上等待.
2.在接收到的数据量达到触发极限的时候VxD就用
OverLap->O_InternalHigh=RValue;
WIN32_DIOCCompletionRoutine(OverLap->O_Internal);
通知应用程序.
3.应用程序在收到通知后处理数据.然后再回到第一步,循环执行.
(在这个过程中我设置了触发极限是128个字符)
这样的流程在接收大数据量的时候出现了问题.那就是在第三步的时候由于通讯速率比较快(115.2K),会在还没 有处理完的时候就又收到数据,此时就会使整个程序陷入无法接收数据的状态.我发现Windows自带的串口程 序\"超级终端\"就没有这个问题,说明是有办法解决的,有谁知道怎么解决吗?
游客

返回顶部