阅读:893回复:2
ds生成的d12驱动程序read例程的问题!!!
我在ds生成的d12的驱动程序中看到这样的语句:
PURB pUrb = m_Endpoint2IN.BuildBulkTransfer( Mem, dwTotalSize, TRUE, NULL, FALSE ); 参考书上说 dwTotalSize是传输的字节数,但是我在d12的固件程序中并没看到相应的语句来接收这个参数呀?请问这个参数是不是调用一次ReadFile函数要求读取的数据长度呀? 向各位大侠请教。。。。 |
|
|
沙发#
发布于:2004-09-29 01:12
这个参数来自于上层调用,可能是应用程序或DLL。
通常的做法是上层预先知道固件会发出多少数据,然后在URB中指定相应的大小,同时最好加上超时设置,避免以外发生。 如果上层无法预先知道这个长度,或者说这个长度由下层固件指定,则可以先发送一个Vendor Request来查询先面有多少数据,这样就可以得到数据大小了。 简而言之,USB默认并未在端点0以外提供会话层协议,要自己完成。 |
|
|
板凳#
发布于:2004-09-29 08:36
谢谢楼上的大侠!您的一席话让我受益匪浅,非常感激!!!
我还有一个问题向您请教,因为比较长,我直接发到您邮箱里了,期待您的回复!!先谢谢啦!! |
|
|