miniking
驱动牛犊
驱动牛犊
  • 注册日期2004-04-28
  • 最后登录2005-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1699回复:8

求救,应用程序如何读取某一端点呢

楼主#
更多 发布于:2005-01-09 22:38
68013的芯片,采用slave fifo方式,当端点2充满数据后,就可以读取了,可是在应用程序中,如下代码可以读取数据,但是管道号和端点号是怎么对应的呢?
outValue=0x1A;
bulkControl.pipeNum = 6;  
bResult = DeviceIoControl (hDevice,
                              IOCTL_EZUSB_BULK_WRITE,
                              &bulkControl,
                              sizeof(BULK_TRANSFER_CONTROL),
                              &outValue,
                              1,
                              &nBytes,
                              NULL);
lisa613
驱动牛犊
驱动牛犊
  • 注册日期2004-12-05
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-15 20:45
楼上的大侠帮我也发一份吧,我也是要做差不多的任务。我的E-MAIN:lisa8015@163.com
谢谢了先!
baiweihua
驱动牛犊
驱动牛犊
  • 注册日期2004-11-18
  • 最后登录2006-12-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-01-15 18:29
请问楼上,pipe到底是在哪里设置的呢?
是在desc.a51中设置,还是在驱动程序的编写中来设置呢?
具体怎样指定那个pipe对应哪个端点呢?
zbcxw
驱动牛犊
驱动牛犊
  • 注册日期2003-02-06
  • 最后登录2005-10-05
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-01-15 12:25
你应该用的默认设置,可以看68013的文档说明 “Default Full-Speed Alternate Settings”一节,根据所选择的接口描述符和替换设置值对应。
pipe号从0开始,端点从1out开始。

[编辑 -  1/15/05 by  zbcxw]
baiweihua
驱动牛犊
驱动牛犊
  • 注册日期2004-11-18
  • 最后登录2006-12-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-01-15 02:12
d多谢兄弟!把自己的经验分享,
那具体是怎样做的可不可以给我发一份过来呢?
我不知道那个deviceiocontrol函数调用一次读多少个字节是在哪里设,还有用它来读很多个512字节怎么办呢?调用一次它就可以不停的来接收数据了吗?
我的邮箱baiweih@eyou.com
多谢了!
miniking
驱动牛犊
驱动牛犊
  • 注册日期2004-04-28
  • 最后登录2005-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-01-15 00:49
我自己试了一下,好像可以了。先到固件程序中的.a51文件,把端点个数加一个,然后到端点描述符中增加端点2,设置为BULK,IN,然后下载,在控制面板中,按get pipes,就可以发现pipe多了一个,这样就可以得到对应的pipe号了。如何在自己的应用程序中得到pipe号,还不知道啊。readfile和deviceiocontrol应该是一样的吧,我用deviceiocontrol读到返回的512字节的数据的起始地址,直接用file.write写入到某一个文件中去,好像不用自己开辟缓冲区。
lejianz
驱动中牛
驱动中牛
  • 注册日期2003-03-05
  • 最后登录2023-11-15
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望145点
  • 贡献值0点
  • 好评度116点
  • 原创分0分
  • 专家分0分
  • 社区居民
6楼#
发布于:2005-01-14 22:40
找PIPE的句柄值
一起交流,共同提高!
baiweihua
驱动牛犊
驱动牛犊
  • 注册日期2004-11-18
  • 最后登录2006-12-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-01-14 21:42
你好,我在和你做一样的工作,也是68013fifo模式,
用ep2来读大量的bulk数据,同样是要开始编app了,
虽然我帮不了你但帮你定一下,

我觉的应该用read那个函数来读端点的数据吧,管道的定义好象在驱动程序中定义的,你可以在驱动的原码中找找,我的qq是12049623
大家一起讨论,

问你一个问题,如果一次顺次的读大量的数据到pc,用deviceiocontrol函数来读ep2,那其中的参数应该怎么来定呢?
如果定为512,那是每执行一次这个函数只读512字节,还是有多少读多少呢?还有pc中的内存要怎么给他分配呢?
miniking
驱动牛犊
驱动牛犊
  • 注册日期2004-04-28
  • 最后登录2005-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2005-01-10 22:36
自己顶一下
游客

返回顶部