cazz_girl
驱动牛犊
驱动牛犊
  • 注册日期2003-10-27
  • 最后登录2006-10-17
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:1385回复:3

有关ISP1581的问题

楼主#
更多 发布于:2004-06-24 11:14
我的mcu用的是dsp,USB2.0芯片为ISP1581。

为什么端点0接收到数据后,不产生中断呢??

发送设备描述符后,查询中断状态,产生发送中断后,设置响应ack。
程序一直停留在查询中断状态处。

我的中断配置寄存器(10H)为:0x56
中断使能寄存器(14H)为:0xFD21
flyhye
驱动小牛
驱动小牛
  • 注册日期2003-07-01
  • 最后登录2012-01-11
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-06-24 12:44
什么叫端点0接收到数据后不产生中断呢?
你要它产生什么中断?

自己想一下usb设备和主机通信的过程吧,就像在面试,主机是考官,usb设备是面试者,考官问你什么,你就答什么,他不问你,你就别说话,至于他为什么不问你了,那你就好好想想你刚才说什么了,还是上个问题没回答好呢。

:)


我的mcu用的是dsp,USB2.0芯片为ISP1581。

为什么端点0接收到数据后,不产生中断呢??

发送设备描述符后,查询中断状态,产生发送中断后,设置响应ack。
程序一直停留在查询中断状态处。

我的中断配置寄存器(10H)为:0x56
中断使能寄存器(14H)为:0xFD21
千载奇逢,无如好书良友 一生清福,只在碗茗炉烟
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-06-24 13:16
1,确定你的寄存器读写都没有问题
2,将中断配置寄存器(10H)设置为:0x60(低电平有效)或者0x62(脉冲方式低电平有效)试试
3,如果不行查看中断向量表、cmd文件是否正确
4,还是不行的话使用查询方式,在主程序中查询中断原因寄存器reg_interrupt_low如果该寄存器不为0则运行中断服务程序。
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-06-24 13:48
FT!
这个程序怎么和我的程序有点相似呀!
呵呵
还没有到这一步呢,你贴这个有什么用?
中断没出现先查为什么,从硬件开始,用示波器量中断管脚INT有没有信号产生(高有效为高电平,低有效为低电平,脉冲方式应该有个60ns的脉冲),我想如果你寄存器读写没问题,那么连接了SOFTCT后至少应该有一个中断――RESET!

把你的初始化程序贴出来看看,只需要设置初始化寄存器的那一段,包括模式寄存器、地址寄存器、中断配置寄存器、中断屏蔽寄存器

最后一点,你确定打开并使能了DSP的中断?
游客

返回顶部