jarod_jy
驱动牛犊
驱动牛犊
  • 注册日期2006-12-27
  • 最后登录2012-06-17
  • 粉丝0
  • 关注0
  • 积分332分
  • 威望35点
  • 贡献值0点
  • 好评度33点
  • 原创分0分
  • 专家分0分
阅读:3974回复:1

关于usb中断传输端点的问题

楼主#
更多 发布于:2008-09-10 18:15
       在USB端点描述符中,有bInterval这个域,这个域表示当端点是中断传输的端点时,bInterval指轮询数据传输的时间间隔。在端点描述符中设定一个端点为中断传输端点,并为bInterval指定为n(0~255)。我的问题是:
      1.这个中断传输端点是否只能对其发送IN包(读取数据),不能发送OUT包(写入数据)?
      2.轮询间隔时间bInterval是指对中断端点发送IN包的最小时间还是指什么?
      3.在编写windows系统的USB驱动时,如果需要对中断端点发送IN包(从该端点读取数据),bInterval的设置值n是否对从该端点读数据有影响?
      4.如果从USB设备setconfig之后(设备枚举完成后)要从中断端点间隔不定长的时间读取数据(即中断端点的IN缓存中随时有数据需要读取),驱动有什么简便的写法,最好能附上一段代码说明或给个例子程序。
耕一块贫瘠的土地
smilebear
驱动牛犊
驱动牛犊
  • 注册日期2002-06-14
  • 最后登录2010-06-24
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望38点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-09-15 23:15
1, Interrupt endpoint应该同样既可以IN,也可以OUT。
2,bInterval是指相应的interrupt endpoint有pending的request时,host controller帮你发IN/OUT token的时间间隔。
3,有影响,影响读取数据的最快速率及平均速率。
4,驱动需要保证的是始终要有pending的IRP在等待。
游客

返回顶部