FX2:FIFO复位不正常的问题

[复制链接]
4096|4
 楼主| wowow 发表于 2007-12-1 15:40 | 显示全部楼层 |阅读模式
程序中建立通信时要复位一下FIFO,清除掉以前可能因为通信中断遗留的数据。我在在Vender Command里加了一断复位FIFO的代码,但是复位过后,OUT EP死活发不了数据了。IN EP似乎没有受影响。网上搜了一下,相关讨论都是第一次复位的,我在第一次复位没有问题。REVCTL,OUTPKTEND之类的以及命令的顺序也试了不少种组合。有谁有成功的经验?
vongy 发表于 2007-12-1 17:29 | 显示全部楼层

检查一下有没有开OUT中断

  
 楼主| wowow 发表于 2007-12-1 19:55 | 显示全部楼层

没有开

&nbsp;&nbsp;&nbsp;EZUSB_IRQ_ENABLE();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Enable&nbsp;USB&nbsp;interrupt&nbsp;(INT2)<br />&nbsp;&nbsp;&nbsp;EZUSB_ENABLE_RSMIRQ();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Wake-up&nbsp;interrupt<br />&nbsp;&nbsp;&nbsp;EIEX4=0;&nbsp;//Disable&nbsp;INT4<br /><br />&nbsp;&nbsp;&nbsp;INTSETUP&nbsp;|=&nbsp;(bmAV2EN&nbsp;|&nbsp;bmAV4EN);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Enable&nbsp;INT&nbsp;2&nbsp;&&nbsp;4&nbsp;autovectoring<br /><br />&nbsp;&nbsp;&nbsp;USBIE&nbsp;|=&nbsp;bmSUDAV&nbsp;|&nbsp;bmSUTOK&nbsp;|&nbsp;bmSUSP&nbsp;|&nbsp;bmURES&nbsp;|&nbsp;bmHSGRANT;&nbsp;&nbsp;&nbsp;//&nbsp;Enable&nbsp;selected&nbsp;interrupts<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;EA&nbsp;=&nbsp;1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Enable&nbsp;8051&nbsp;interrupts<br />
andyliji 发表于 2010-9-21 10:29 | 显示全部楼层
我也出现了这种问题,结果主机发不命令了。
andyliji 发表于 2010-9-21 15:55 | 显示全部楼层
EZUSB_IRQ_ENABLE();            // Enable USB interrupt (INT2)
   EZUSB_ENABLE_RSMIRQ();            // Wake-up interrupt
   EIEX4=0; //Disable INT4

   INTSETUP |= (bmAV2EN | bmAV4EN);     // Enable INT 2 & 4 autovectoring

   USBIE |= bmSUDAV | bmSUTOK | bmSUSP | bmURES | bmHSGRANT;   // Enable selected interrupts
   
   EA = 1;                  // Enable 8051 interrupts

这不是开了中断嘛,怎么还说没有开。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

59

主题

649

帖子

3

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