阅读:1962回复:5
关于usb的bulk传输
我是新手,有几个关于usb的问题,请指教,多谢!
1,我用到是pdiusbd12接口芯片,想用bulk向主机传送数据, 现在不太明白bulk的具体过程,是不是主机的客户程序,用一个 readfile函数,就可以通过驱动不停的向设备的bulk端点发送 in的标志包,然后设备固件只要把要发送的数据存入pdiusbd12 的缓冲区就行了?】 2,pdiusbd12的endpoint2有两个64b的缓冲区,具体是什么含义? 是in和out各一个呢?还是in和out都各可以使用两个缓冲区? 怎么使用? 多谢指教! |
|
最新喜欢:![]() |
沙发#
发布于:2002-03-26 21:15
请高手指教一下吧,多谢了!!
|
|
板凳#
发布于:2002-03-27 17:33
第一个问题:你说得对
第二个问题:pdiusbd12的endpoint2,两个不同的管道。 两个管道又分为in和out类型,应该是有一个是in 另一个是out. |
|
地板#
发布于:2002-03-28 08:26
在USB的四种传输类型中,只有Control类型的传输支持双向,其他传输则全部是单向,所以设备在Configure之后,读/写数据就需要两个端口。
|
|
|
地下室#
发布于:2002-03-28 08:52
怎么老是把ReadFile、WriteFile、DeviceIoControl和USB的传输类型混淆起来呢?
它们都只是与驱动程序通讯而已,究竟完成什么工作、使用什么传输类型完全由驱动程序决定。千万不要以为用ReadFile就能读数据哦。 |
|
|
5楼#
发布于:2002-03-28 19:18
WINDOWS的WDM驱动程序架构在刚开始的时候大家一般都会觉得很复杂,确实如此,主要是里面有很多别的方面比如电源管理,即插即用等方面的东西,容易让人望而却步,相比较而言LINUX驱动条理比较清晰,有时间可以略微看一下LINUX的驱动程序设计。
其实驱动程序所要完成的就是提供5个接口--Open,Close,Read,Write,IoControl,这是提供给应用程序调用的接口,应用程序通过系统调用_open,_close,_read,_write,_devicecontrol(忘了名字了)来和驱动程序打交道,至于想读或写哪个端口可以在驱动程序的READ,WRITE,DEVICEIOCONTROL例程里写对应的代码。 |
|