goodhopecape
驱动牛犊
驱动牛犊
  • 注册日期2005-01-26
  • 最后登录2007-06-19
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1306回复:2

USB转双串口 win98驱动问题!

楼主#
更多 发布于:2005-05-17 10:50
    用VxD+WDM做的用于WIN98的USB转双串口的设备的驱动程序,在VxD中应用发过来的写请求使用IOCTL发给WDM驱动程序,由WDM使用URB_BULK_OR_INTERRUPT_TRANSFER结构调用IoCallDriver向总线发出写请求.
    问题是这样,因为映射两个串口,所以没有将这两个串口的PDO使用IoAttachDeviceToDeviceStack加到设备堆栈上,VxD中的收到的IRP应该层数不够,所以在WDM中将要写的数据作为参数创建新的IRP.我重新分配了NonPagedPool内存,将这个缓冲区复制出来,但是在调用IoCallDriver后,发现这个函数没有正确执行,在调用返回PENDING后,等待信号量置位的过程超时.使用Bus Hound工具看不到有数据写到总线上.
    另外,这个驱动程序已经可以正确安装初始化设备,而且PIPE RESET是可以正确发送到总线上的.
    请问高人,我的程序究竟问题出在哪?

[编辑 -  5/17/05 by  goodhopecape]
sfqj82
驱动小牛
驱动小牛
  • 注册日期2004-12-30
  • 最后登录2011-09-03
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望15点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-05-18 10:35
我现在也在做这个东东,用pl2303做的,有机会讨论讨论啊~~
互相交流~共同进步!
sfqj82
驱动小牛
驱动小牛
  • 注册日期2004-12-30
  • 最后登录2011-09-03
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望15点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-05-18 10:37
小弟现在要为pl2303芯片开发一个驱动。芯片的功能是USB转RS232,芯片与电脑usb直接相连,另一端接com设备。所以,驱动程序要实现一个虚拟的串口,这个虚拟的串口对客户应用程序来说,和普通的串口一样。
我刚到prolific网站下了一些芯片资料,datasheet等看了一下,但现在还是不知从何下手,请各位大侠帮我提点建议或方向,偶感激不尽,
sfqj82@yahoo.com.cn
互相交流~共同进步!
游客

返回顶部