hanjc
驱动牛犊
驱动牛犊
  • 注册日期2002-03-20
  • 最后登录2003-11-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1964回复:5

关于usb的bulk传输

楼主#
更多 发布于:2002-03-26 09:28
我是新手,有几个关于usb的问题,请指教,多谢!
1,我用到是pdiusbd12接口芯片,想用bulk向主机传送数据,
现在不太明白bulk的具体过程,是不是主机的客户程序,用一个
readfile函数,就可以通过驱动不停的向设备的bulk端点发送
in的标志包,然后设备固件只要把要发送的数据存入pdiusbd12
的缓冲区就行了?】

2,pdiusbd12的endpoint2有两个64b的缓冲区,具体是什么含义?
是in和out各一个呢?还是in和out都各可以使用两个缓冲区?
怎么使用?

多谢指教!

最新喜欢:

sheepoosheepo...
LIUTANG
驱动大牛
驱动大牛
  • 注册日期2001-03-30
  • 最后登录2020-12-27
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望58点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2002-03-28 19:18
    WINDOWS的WDM驱动程序架构在刚开始的时候大家一般都会觉得很复杂,确实如此,主要是里面有很多别的方面比如电源管理,即插即用等方面的东西,容易让人望而却步,相比较而言LINUX驱动条理比较清晰,有时间可以略微看一下LINUX的驱动程序设计。
    其实驱动程序所要完成的就是提供5个接口--Open,Close,Read,Write,IoControl,这是提供给应用程序调用的接口,应用程序通过系统调用_open,_close,_read,_write,_devicecontrol(忘了名字了)来和驱动程序打交道,至于想读或写哪个端口可以在驱动程序的READ,WRITE,DEVICEIOCONTROL例程里写对应的代码。
tigerzd
驱动老牛
驱动老牛
  • 注册日期2001-08-25
  • 最后登录2004-12-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-03-28 08:52
怎么老是把ReadFile、WriteFile、DeviceIoControl和USB的传输类型混淆起来呢?
它们都只是与驱动程序通讯而已,究竟完成什么工作、使用什么传输类型完全由驱动程序决定。千万不要以为用ReadFile就能读数据哦。
犯强汉者,虽远必诛! [img]http://www.driverdevelop.com/forum/upload/tigerzd/2002-12-13_sf10.JPG[/img]
Pharos
驱动牛犊
驱动牛犊
  • 注册日期2001-08-13
  • 最后登录2005-02-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-03-28 08:26
在USB的四种传输类型中,只有Control类型的传输支持双向,其他传输则全部是单向,所以设备在Configure之后,读/写数据就需要两个端口。
没有我,你怎么办,你的泪水谁为你擦干; 谁为你打伞,安慰你心寒,失眠的夜你最怕孤单。
yang_lm
驱动牛犊
驱动牛犊
  • 注册日期2002-03-12
  • 最后登录2002-03-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-03-27 17:33
第一个问题:你说得对
第二个问题:pdiusbd12的endpoint2,两个不同的管道。
            两个管道又分为in和out类型,应该是有一个是in
            另一个是out.
hanjc
驱动牛犊
驱动牛犊
  • 注册日期2002-03-20
  • 最后登录2003-11-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-03-26 21:15
请高手指教一下吧,多谢了!!
游客

返回顶部