superleon
驱动牛犊
驱动牛犊
  • 注册日期2004-12-05
  • 最后登录2006-07-25
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1286回复:2

一个在周立功上问了N天没人回答的问题(PDIUSBD12)

楼主#
更多 发布于:2005-05-23 20:41
买了周立工的板子,问个问题都那么难,郁闷!
哪位大虾解释一下:
    是关于PDIUSBD12的枚举过程的,地址分配后主机要获得设备描述符,PDIUSBD12会把18个字节分两次发送出去,我想问,固件程序是接受到setup包后,就发送16个字节的描述符,还是要等到主机给PDIUSBD12发送IN的指令后,固件响应端点0的发送中断。
  
    另外我用busbound截取数据包时,为什么看不到地址设置包呢??
wonder_2001
驱动小牛
驱动小牛
  • 注册日期2002-07-02
  • 最后登录2010-12-03
  • 粉丝0
  • 关注0
  • 积分452分
  • 威望96点
  • 贡献值0点
  • 好评度36点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-05-24 09:32
1.固件程序是接受到setup包,setup包有标记部分和数据部分,任何包在bushound仅显示数据部分,就像接下来的in指令,主机的in标记bushound也是不显示的,只显示主机收到的in数据,主机的in标记发送之后,设备才发送描述符。
2.应该是你的bushound版本不够新 。
superleon
驱动牛犊
驱动牛犊
  • 注册日期2004-12-05
  • 最后登录2006-07-25
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-05-24 10:32
好象第一个问题还是没有解释清楚,我问的再详细一些吧:
首先PDIUSBD12接受到setup包(描述符请求),我看了一下周立功的固件源码,
固件对此产生中断然后执行端点0的接收,由于是setup包,所以对bEPPflag.bits.setup设为1,返回主程序,在主程序中对setup进行处理。
   这就有个问题了,我在主程序中对描述符请求作出了响应,发送了描述符的前8个字节。但问题是此时IN中断还没有来,就把数据发出去了,下一个中断来的时候,是发送1-8字节,还是9-16字节呢?
游客

返回顶部