whmjack
驱动小牛
驱动小牛
  • 注册日期2003-09-17
  • 最后登录2007-04-26
  • 粉丝0
  • 关注0
  • 积分290分
  • 威望29点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
阅读:859回复:2

usb设备中终点的问题

楼主#
更多 发布于:2003-12-26 18:21
各位大侠,小弟现在有一个小问题,有些疑惑,请大家帮忙指导一下。
假如一个usb设备除了0终点之外还有3个终点,一个用于中断IN,一个用于中断OUT,还有一个用于批量传输IN,假如驱动已经写好了,用的是GUID生成设备接口,那么我的应用程序应该怎么分别访问这3个终点呢?是先
handle=CreateFile(\\\\devicename\\\\endponitNumber),然后ReadFile(handle),终点号包含在设备名里?
请问是不是这样访问终点呢?如果不是那又该怎么样呢?谢谢。

因为我是这样想的,在开发一个设备时,先只测试它的控制终点,这样就可以先写访问控制终点的应用程序,接下来再写访问中断IN的终点,测试中断In终点。。。如果是照我上面的访问格式,那程序就好写了一点!

最新喜欢:

bearsammibearsa...
danminxia
驱动牛犊
驱动牛犊
  • 注册日期2003-10-05
  • 最后登录2004-06-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-12-26 19:30
我也正在做这方面.
我是这么想的不知对不对.
你的三个端点(除0)是不是应该分别对应三个缓冲区.
然后根据USB侦来决定用那个端点.再创建.
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-12-27 09:30
控制端点是通过build vendor request 来访问的,当然这也适用于standard request。它是比较特殊的一个,它的描述符不在总的描述符表里。
其它的端点的信息都在端点描述符结构的元素Pipes[]数组里,其中Pipe[0]对应你设备全部配置描述符中的第一个端点信息,1、2
等依次后推。
如果你想访问第二个端点,那么在驱动里build request 的时候就要把第二个端点的句柄 Pipes[1].PipeHandle填到相应的参数项里,至于你怎么样把你使用的端点号告诉驱动,你可以通过deviceiocontrol()的inputbuffer传过去,也可以通过其它方式。
游客

返回顶部