用bushound调试USB

[复制链接]
8766|18
 楼主| yangmiao0223 发表于 2013-9-8 10:29 | 显示全部楼层 |阅读模式
本帖最后由 yangmiao0223 于 2013-9-8 16:29 编辑

各位大神 求看一下 使用bushound查看usb连接的部分信息。前面描述符没问题,枚举应该是成功了,没问题。

但是USB发送的252个字节怎么全都是这个0x25 0xd9?应该是很多不一样的数才对。

求解答,是usb硬件的原因么,还是软件没写好,我是小白,不做usb这块,但是这块出问题了必须我来处理?具体要往哪个方向排错?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| yangmiao0223 发表于 2013-9-8 10:35 | 显示全部楼层
另外 那个 USTS  canceled  是怎么回事    好像正常连接的时候没有这个。、。。。。。
 楼主| yangmiao0223 发表于 2013-9-8 16:22 | 显示全部楼层
@computer00 版主求解答, 另外,会不会是我硬件没有连好的原因呢???
 楼主| yangmiao0223 发表于 2013-9-9 10:24 | 显示全部楼层
怎么都没一个人回答啊? 各位 行行好啊   好人有好报
 楼主| yangmiao0223 发表于 2013-9-10 10:24 | 显示全部楼层
群里很冷清么?
yezhenqin 发表于 2013-9-10 11:02 | 显示全部楼层
先从新设置一下你的BUSHOUND,打开setting

max record length设置大些 比如512

基本确定是你软件有问题,你看看软件对类请求的处理是否有误。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| yangmiao0223 发表于 2013-9-10 15:15 | 显示全部楼层
yezhenqin 发表于 2013-9-10 11:02
先从新设置一下你的BUSHOUND,打开setting

max record length设置大些 比如512

软件有问题是说 我的固件程序有问题 而不是上位机软件有问题吧。
已经按照你的做了,还是有问题,和以前写好的上位机软件连不通。而且hushound也是一楼类似的显示
对类的请求处理  是哪段函数?  麻烦帮我看下好么   我不懂这些,拜托了
  1. //Cy68001自定义请求的处理子程序,应该实现clear feature 和 set feature标准请求
  2. //自定义一个请求通知枚举的类型-高速或全速,不支持低速
  3. void cy_setup(void)
  4. {
  5. //        Uint16 i;
  6. if(!sx2EnumOK)
  7.     return;
  8. /*关于setup中断的处理*/
  9. if(sx2Setup)        //xiejin Setup中断标志,在中断服务程序中置位
  10.         {
  11.     /*清SETUP数据读的标志*/
  12.     sx2Setup = FALSE;

  13.     /*解析OUT类型的命令申请*/
  14.     if(setupBuff[0] == VR_TYPE_OUT)
  15.                 {
  16.         /*分析命令类型*/
  17.         switch(setupBuff[1])
  18.                         {
  19.             //暂时不支持OUT类型请求

  20.             default:
  21.                 /*不支持的请求*/
  22.                 /*写非零数到SX2_SETUP,取消此请求*/
  23.                 Write_SX2reg(SX2_SETUP, 0xff);
  24.                 break;
  25.                         }/*分析命令类型*/
  26.                 }
  27.         else            /*解析IN类型的命令申请*/
  28.                 {
  29.         if(setupBuff[0] == VR_TYPE_IN)
  30.                         {
  31.             /*分析命令类型*/
  32.             switch(setupBuff[1])
  33.                                 {
  34.                 /*USB工作的标准*/
  35.                 case VR_USB_VERION:
  36.                     if(hshostlink ==TRUE)
  37.                         {
  38.                         DataToEndpoint0 = 0x55;
  39.                         }
  40.                     else
  41.                         {
  42.                         DataToEndpoint0 = 0xaa;
  43.                         }
  44.                     Write_SX2reg(SX2_EP0BUF, DataToEndpoint0);
  45.                     /*写入要传回的数据的长度*/
  46.                     Write_SX2reg(SX2_EP0BC, 1);
  47.                     break;

  48.                 default:
  49.                     /* unsupported request */
  50.                     /* write any non-zero value to the setup register
  51.                     to stall the request. */
  52.                     Write_SX2reg(SX2_SETUP, 0xff);
  53.                 break;
  54.                                 }
  55.                         }
  56.         else
  57.                         {
  58.             /*不支持的请求,写非零数到SX2_SETUP,取消此请求*/
  59.             Write_SX2reg(SX2_SETUP, 0xff);
  60.             }
  61.                 }/*解析IN类型的命令申请*/
  62.         }/*关于setup中断的处理*/
  63. }


不知道是不是我找的这一段  如果不是 我再找找      好人。。。。。拜托了 谢谢
yezhenqin 发表于 2013-9-11 15:52 | 显示全部楼层
按你的代码看,VR_TYPE_OUT = 0X40 VR_TYPE_IN = 0XC0。
VR_USB_VERION你是否定义为0xB1 ?如果是,上位机的 发的reqtype是0xc0,req是0xb8,你判断req != VR_USB_VERION 后发了stall( /* write any non-zero value to the setup register to stall the request. */)。你试看看屏蔽 case VR_USB_VERION:
yezhenqin 发表于 2013-9-11 15:52 | 显示全部楼层
yangmiao0223 发表于 2013-9-10 15:15
软件有问题是说 我的固件程序有问题 而不是上位机软件有问题吧。
已经按照你的做了,还是有问题,和以前 ...


按你的代码看,VR_TYPE_OUT = 0X40 VR_TYPE_IN = 0XC0。
VR_USB_VERION你是否定义为0xB1 ?如果是,上位机的 发的reqtype是0xc0,req是0xb8,你判断req != VR_USB_VERION 后发了stall( /* write any non-zero value to the setup register to stall the request. */)。你试看看屏蔽 case VR_USB_VERION:
 楼主| yangmiao0223 发表于 2013-9-11 16:05 | 显示全部楼层
yezhenqin 发表于 2013-9-11 15:52
按你的代码看,VR_TYPE_OUT = 0X40 VR_TYPE_IN = 0XC0。
VR_USB_VERION你是否定义为0xB1 ?如果是,上位 ...

我的VR_USB_VERION定义是0xB8  屏蔽了那条语句 还是不行
能不能加你qq  方便请教?
 楼主| yangmiao0223 发表于 2013-9-11 16:07 | 显示全部楼层
yezhenqin 发表于 2013-9-11 15:52
按你的代码看,VR_TYPE_OUT = 0X40 VR_TYPE_IN = 0XC0。
VR_USB_VERION你是否定义为0xB1 ?如果是,上位 ...

我qq  464552741
 楼主| yangmiao0223 发表于 2013-9-12 10:19 | 显示全部楼层
各位大神 解答下啊
使用cy7c68001  while循环通过语句:   SX2_FifoWriteSingle(ENDPOINT6, 0xaa);想要一直发送数据0xaa给上位机  
但是用bushound抓包 捕捉到的  就是一楼所显示的 那个25  d9
发送的数据不对啊
yezhenqin 发表于 2013-9-12 14:54 | 显示全部楼层
543201274
beyond696 发表于 2013-9-12 16:32 | 显示全部楼层
yangmiao0223 发表于 2013-9-12 10:19
各位大神 解答下啊
使用cy7c68001  while循环通过语句:   SX2_FifoWriteSingle(ENDPOINT6, 0xaa);想要一直 ...

你上位机没程序读数据你是发送不成功的
 楼主| yangmiao0223 发表于 2013-9-13 10:57 | 显示全部楼层
beyond696 发表于 2013-9-12 16:32
你上位机没程序读数据你是发送不成功的

上位机程序是 以前别人写好的    而且以前的板子能用。现在我升级了下板子 固件程序没动  但是连不上。。。。
 楼主| yangmiao0223 发表于 2013-9-13 10:59 | 显示全部楼层
yangmiao0223 发表于 2013-9-13 10:57
上位机程序是 以前别人写好的    而且以前的板子能用。现在我升级了下板子 固件程序没动  但是连不上。。 ...

如果上位机没读数据    bushound捕捉到的下位机发送的数据 就是乱码么?
beyond696 发表于 2013-9-13 18:26 | 显示全部楼层
上位机没读数据,单片机端是不可能成功发送数据的
computer00 发表于 2013-9-28 19:17 | 显示全部楼层
是因为你把表头的data拖得太窄的原因吧?
martin0221 发表于 2013-10-7 08:55 | 显示全部楼层
顶一个,学习了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

83

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部