lhaih
驱动小牛
驱动小牛
  • 注册日期2004-04-28
  • 最后登录2007-10-19
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望5点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
阅读:1119回复:3

d12调试:关于setup包

楼主#
更多 发布于:2004-08-03 11:02
耽误了很久还没有完成枚举,对程序流程不太清楚,求助斑竹和大虾们。以下是我的理解:
比如主机发送了get descriptor,程序先进入中断,执行ep2_rxdone()接收数据,完了就跳出中断,然后执行主程序里的control_handler(),执行标准请求处理中的get_descriptor()。

是这样吗,望不吝赐教。
lhaih
驱动小牛
驱动小牛
  • 注册日期2004-04-28
  • 最后登录2007-10-19
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望5点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-11-02 15:42
谢谢两位,这个贴子我发了两遍,原因是当时发了一遍看不到,就是这一篇。我的问题早已解决,再次感谢!!
quanxianwang
驱动牛犊
驱动牛犊
  • 注册日期2004-09-24
  • 最后登录2004-11-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-10-29 10:52
比如主机发送了get descriptor,程序先进入中断,执行ep2_rxdone()接收数据,完了就跳出中断,然后执行主程序里的control_handler(),执行标准请求处理中的get_descriptor()。


主机发送了get descriptor
设备会先受到setup包, 中断激起, 中断服务例程分析, 知其为setup包, 解析数据, 获得其要求(这都有固定的数据结构), 并设置EPPFALG为setup状态。 退出。此时固件主程序正在运行, 其根据EPPFALG的标志知道主机在要描述符,再调用control_handler的get_descriptor, 并设置下一个状态。 你说的有部分是错误的。 这是控制传输,在端点0, 不是端点2。 所以只能是端点0的rxdone.

希望对你有帮助。 我也是新手。 也在扣他们的代码, 希望彼此能互相交流
谢谢

wozhuce
驱动小牛
驱动小牛
  • 注册日期2004-04-02
  • 最后登录2005-11-01
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-10-28 22:39
这个问题论坛上多的很,你嗖嗖看,多看些,思路就清楚了。我就是这样学的。
游客

返回顶部