阅读:3974回复:1
关于usb中断传输端点的问题
在USB端点描述符中,有bInterval这个域,这个域表示当端点是中断传输的端点时,bInterval指轮询数据传输的时间间隔。在端点描述符中设定一个端点为中断传输端点,并为bInterval指定为n(0~255)。我的问题是:
1.这个中断传输端点是否只能对其发送IN包(读取数据),不能发送OUT包(写入数据)? 2.轮询间隔时间bInterval是指对中断端点发送IN包的最小时间还是指什么? 3.在编写windows系统的USB驱动时,如果需要对中断端点发送IN包(从该端点读取数据),bInterval的设置值n是否对从该端点读数据有影响? 4.如果从USB设备setconfig之后(设备枚举完成后)要从中断端点间隔不定长的时间读取数据(即中断端点的IN缓存中随时有数据需要读取),驱动有什么简便的写法,最好能附上一段代码说明或给个例子程序。 |
|
|
沙发#
发布于: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在等待。 |
|