htamethyst
驱动牛犊
驱动牛犊
  • 注册日期2005-05-13
  • 最后登录2005-09-15
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1336回复:4

有关usb的应用程序开发

楼主#
更多 发布于:2005-05-13 11:33
小妹现在开发一个usb-gpib卡,硬件已经条是通过,基本的固件程序也调试成功,现在有一个问题困扰我几天了,即在用vc开发应用程序的过程中,用createfile()获取一起句柄,但不跟踪已成功获取,然后用deviceiocontrol()对硬件进行写操作,总是不能发送成功,不只是什么原因。在用芯片厂商提供的控制软面板对硬件进行写操作没有问题,是不是可以排除固件程序的问题?难道真是应用程序的问题,可是我翻阅了好多资料,对于usb的读写都是应用的这种方法。还有一个问题,就是运行应用程序后,关闭芯片厂商提供的控制软面板,在重新打开,原先显示ezusb-0的地方显示成了ezusb-1甚至于ezusb-2,ezusb-3等等,不知是何原因?麻烦高手指点一下了,bow//
junki
驱动牛犊
驱动牛犊
  • 注册日期2004-09-02
  • 最后登录2007-11-30
  • 粉丝0
  • 关注0
  • 积分124分
  • 威望13点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-05-13 13:48
你可以尝试使用WriteFile,ReadFile等API函数来试一下

ezusb-0,ezusb-1,ezusb-2
只是在系统中对应不同USB端口,逻辑可以有128个端口号
htamethyst
驱动牛犊
驱动牛犊
  • 注册日期2005-05-13
  • 最后登录2005-09-15
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-05-13 16:32
问题是在同一个usb端口上,通过控制软面板对硬件进行读写,一旦挂起,拔下硬件,再插上,在软面板的文件菜单里打开设备的话,就会改变成ezusb-1
drivering
驱动牛犊
驱动牛犊
  • 注册日期2002-04-06
  • 最后登录2009-12-11
  • 粉丝0
  • 关注0
  • 积分134分
  • 威望53点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-05-13 17:39
可能是软件上没有卸载干净,系统中还存在驱动或设备对象(或是还被引用?),这样就可能每次递增?

突然发现是关于应用程序开发的,上面说的无效!
关于名字递增,是否每次creatfile,使用后没有closehandle?

随便说的,不要仍砖头过来:P

[编辑 -  5/13/05 by  drivering]
lejianz
驱动中牛
驱动中牛
  • 注册日期2003-03-05
  • 最后登录2023-11-15
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望145点
  • 贡献值0点
  • 好评度116点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2005-05-13 22:32
 ReadFile, WriteFile, DeviceIoControl是应用程序和驱动程序交流数据的手段,首先确认你的驱动支持IoControl,其次看你的参数是否正确,如IOCTRL码。还不行的,用BUSHOUND看一下URB,还可用GetLastError来看一下最后的错误。
希望对你有帮助
一起交流,共同提高!
游客

返回顶部