wzalexander
驱动牛犊
驱动牛犊
  • 注册日期2009-03-22
  • 最后登录2009-05-11
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2802回复:7

[请教]ISP1582枚举编程

楼主#
更多 发布于:2009-03-22 11:00
      我的枚举程序做完了第一步的“主机读取设备描述符”,进行到了“地址分配”阶段,该阶段已经能读到主机发给设备的命令“00 05 02 00 00 00 00 00”,然后我在主函数(mainloop.c)中对ISP1582的地址寄存器设置了0x82的值,之后把EndPoint index 寄存器的值设置为0x00, 把control Function 寄存器的值设置为0x03, 这样,我认为就完成了"地址分配"阶段的工作。但是,程序运行的结果显示是进入不了第二次”取设备描述符“的阶段,就是一直不产生中断 ,程序一直停在主函数,而不在产生中断。
  请问版上的USB高手们这是怎么回事?是不是我们的程序中遗漏了一些关键步骤还是硬件的原因?怎么解决不产生中断的问题?
  就这个问题我已经弄了一周了,但是一直就是不产生中断啊!请知道的帮帮忙啊!谢谢了啊!
   我的MCU是Ti公司的TMS320C6727。
wzalexander
驱动牛犊
驱动牛犊
  • 注册日期2009-03-22
  • 最后登录2009-05-11
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-03-25 22:49
你是地址分配的setup包没收到吧?
  我是根据NXP公司提供的程序改写的。具体步骤是在收到第一个setup后,在该中断函数中读命令,然后回到主函数发送设备描述符,最后在TX0中断函数中置Endpoint index寄存器的值为0x01,
control function 寄存器的值为0x03,执行完中断后函数会进入RX0中断,但什么都不做,只是进去清掉中断位就可以了。下面就可以收到第二个setup包了
游客

返回顶部