xiaobazhang
驱动牛犊
驱动牛犊
  • 注册日期2007-06-06
  • 最后登录2007-07-04
  • 粉丝0
  • 关注0
  • 积分300分
  • 威望31点
  • 贡献值0点
  • 好评度30点
  • 原创分0分
  • 专家分0分
阅读:1799回复:8

关于USB通讯的问题,大侠帮帮忙~~~~~~~~~~~~~

楼主#
更多 发布于:2007-06-19 15:08
        我想做一个简单的关于USB通讯的试验,采用的是68013的开发板,驱动程序是自己编写的,定义了两个通讯管道:Pipe0(out端点,地址为:0x01),Pipe1(in端点,地址为:ox82),定义了五个
IOCTL,一个下固件,两个分别用来读取设备描述符和配置描述符,另外两个进行读写,写管道为pipe0,读管道为pipe1.
        固件程序定义了两个endpoint,一个是endpoint2(out端点),一个是endpoint6(in端点)
    上位机端用DeviceIoControl实现通讯,其它操作都可以实现,但读写失败,读写的管道分别为1,0。
    请问各位热心的朋友,问题出在哪里?

    是管道定义出了问题吗?

    
xiaobazhang
驱动牛犊
驱动牛犊
  • 注册日期2007-06-06
  • 最后登录2007-07-04
  • 粉丝0
  • 关注0
  • 积分300分
  • 威望31点
  • 贡献值0点
  • 好评度30点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-06-19 16:36
没有人知道吗?
急啊

上位机的管道号到底与固件程序的端点号是如何对应的?
 
onizuka2070
驱动牛犊
驱动牛犊
  • 注册日期2006-10-18
  • 最后登录2007-08-07
  • 粉丝0
  • 关注0
  • 积分430分
  • 威望44点
  • 贡献值0点
  • 好评度43点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-06-19 18:57
可能是管道定义出错

pipe0--endpoint2    0x82
pipe1--endpoint6    0x86
xiaobazhang
驱动牛犊
驱动牛犊
  • 注册日期2007-06-06
  • 最后登录2007-07-04
  • 粉丝0
  • 关注0
  • 积分300分
  • 威望31点
  • 贡献值0点
  • 好评度30点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-06-20 09:47
谢谢楼上的指点

不过,我也曾经试过将管道定义改成0x02,0x86,可是还是不行啊
读写总是通不过

哪位有经验的朋友指点一下啊
xiaobazhang
驱动牛犊
驱动牛犊
  • 注册日期2007-06-06
  • 最后登录2007-07-04
  • 粉丝0
  • 关注0
  • 积分300分
  • 威望31点
  • 贡献值0点
  • 好评度30点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-06-20 13:36
自己顶一哈
gutian98
禁止发言
禁止发言
  • 注册日期2003-01-12
  • 最后登录2016-12-11
  • 粉丝4
  • 关注2
  • 积分760分
  • 威望8026点
  • 贡献值1点
  • 好评度364点
  • 原创分0分
  • 专家分21分
  • 金点子奖
  • 社区居民
5楼#
发布于:2007-06-20 14:17
用户被禁言,该主题自动屏蔽!
xiaobazhang
驱动牛犊
驱动牛犊
  • 注册日期2007-06-06
  • 最后登录2007-07-04
  • 粉丝0
  • 关注0
  • 积分300分
  • 威望31点
  • 贡献值0点
  • 好评度30点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-06-20 16:23
谢谢gutian98 !
我是用DS开发的,pipe配置为:pipe0:0x02;   pipe1:0x86,  这与固件中端点的定义是一致的,固件中端点的配置为,EP2:0x02;  EP6:0x86
这样应该是匹配的吧

还请继续指教,谢谢!
thomashuang
驱动牛犊
驱动牛犊
  • 注册日期2007-06-27
  • 最后登录2008-09-01
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望10点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-06-27 09:55
用busbound抓一下。看看那步出了问题。上电默地址是0,配置后地址应是0x8x。该器件应该只有一个地址,三个端点共用该地址。
gaoxiaomei1983
驱动牛犊
驱动牛犊
  • 注册日期2007-07-02
  • 最后登录2008-06-16
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-07-06 08:26
不知道楼主解决了没有,我也有遇到同样的问题啊,主机端发了读写命令固件也接收到了,可就是主机发的数据固件貌似没有读出来。主机调用DeviceIocontrol,用BULK传输,端点1为OUT端点,对应的管道为pipe0,在固件程序中想用EP1OUTBUF[0]和EP1OUTBUF[1]读出来,可是却没有读到正确的数据,不知道该怎么办了,请各位指教一下
游客

返回顶部