- 主题:串口程序在xp, win7上行为不一样
全站审核中,暂不能查看本文内容...
全站审核中,暂不能查看本文内容...
全站审核中,暂不能查看本文内容...
全站审核中,暂不能查看本文内容...
全站审核中,暂不能查看本文内容...
全站审核中,暂不能查看本文内容...
串口有很多状态,读、写,有时一次性读完,有时等待(pending),还有出错(ClearCommError)、以及系统缓冲满(PurgeComm)。
您说的状态机管理,指的是枚举出这些情况,并组合吧
【 在 dormouseBHU 的大作中提到: 】
: 串口这种成熟多年的技术无需怀疑,一定是你的代码有问题…
: 读取串口的代码如果没有用到状态机或者buffer基本都是错的。
--
FROM 112.17.247.*
换个串口库试试呗
--
FROM 171.83.9.*
花了两三礼拜的时间,借一个95年的程序,进行修改。能跑起来了
usb转串口驱动有问题,会出现ERROR_OPERATION_ABORTED的错误,可以忽略
北航的那个哥们说的有道理,需要对各种状态进行判断。
API、Ov、各种情况管理、一个线程里连续读管理和状态管理,重写确实很费劲。还有timeout参数,目前不考虑flow control这些东西
@lipp
【 在 z16166 的大作中提到: 】
: 操作系统一定是最低优先级的怀疑对象
: 首先怀疑串口库。直接调用的串口API的话,那也是优先级很低的怀疑对象。
: 其次再怀疑timer的类型和精度
: ...................
--
FROM 112.17.236.*