pioneerscj
驱动牛犊
驱动牛犊
  • 注册日期2004-10-31
  • 最后登录2009-06-25
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望5点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1527回复:7

做过USBN9603/4的大侠看看

楼主#
更多 发布于:2005-07-13 13:42
  我现在在做ARM7+USBN9603,在中断初始化后,中断进入中断程序,就不停的执行主事件(MAEV)循环,没有再跳出循环。这时只能枚举到setaddress。
但是我修改了枚举后,程序执行一段时间后就退出中断程序,就再也没有中断信号(我也清了中断)。

我想问问:1。USBN的中断信号是仅仅只有初始化后的一次,还是有很多次中断?

      2。我得中断服务程序代码是:
(大家帮我看看是不是arm7的中断没清正确)

void Isr_Detect(void)
{
   char event,main_event;
 

while( (main_event = (read_usb(MAEV) & read_usb(MAMSK))))
{

       Uart_Printf(0,"\n > main_event=%d",main_event);
       if(main_event&RX_EV)
       {
              
                event=read_usb(RXEV);
                Uart_Printf(0,"\n >Rece=%x",event);
                USBN9604_rx_event_handler(event);
          
    }
    if(main_event&ALT)
{


    usb_alt();

}
 if(main_event&TX_EV)
    {
    Uart_Printf(0,"\n >Send");
          event=read_usb(TXEV);
           if(event&TX_FIFO0)
            txevent_0();
           else if(event&TX_FIFO1)
            txevent_1();
          
   }

      

 if(main_event&NAK)
 {

 event=read_usb(NAKEV);
 if (event & 0x10)
                     {//NAK OUT
                            Uart_Printf(0,"\n >NAK");
                            FLUSHTX0;
                            FLUSHRX0;
                            //re enable receving
                            DISABLE_TX(0);
                            ENABLE_RX(0);
                     }
 }
}
  Uart_Printf(0,"\nClear Inturrput!");

 rI_ISPC=BIT_EINT0;
 rINTMSK=~(BIT_GLOBAL|BIT_EINT0);

 

 }
pioneerscj
驱动牛犊
驱动牛犊
  • 注册日期2004-10-31
  • 最后登录2009-06-25
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望5点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-07-13 17:08
帮帮我呀,兄弟们
pioneerscj
驱动牛犊
驱动牛犊
  • 注册日期2004-10-31
  • 最后登录2009-06-25
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望5点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-07-13 17:09
帮我顶顶啊~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
angleliu
驱动牛犊
驱动牛犊
  • 注册日期2005-04-30
  • 最后登录2005-08-25
  • 粉丝0
  • 关注0
  • 积分66分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-07-15 21:34
应该能中断多次,我也在用这个芯片
天涯
angleliu
驱动牛犊
驱动牛犊
  • 注册日期2005-04-30
  • 最后登录2005-08-25
  • 粉丝0
  • 关注0
  • 积分66分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-07-15 21:53
我也再用这个芯片usbn9604,qq:19565305,发usb驱动,我加你。我在哈尔滨工业大学,可以和我联系互相学习。
天涯
angleliu
驱动牛犊
驱动牛犊
  • 注册日期2005-04-30
  • 最后登录2005-08-25
  • 粉丝0
  • 关注0
  • 积分66分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-07-20 22:07
我说兄弟,和我联系阿
天涯
angleliu
驱动牛犊
驱动牛犊
  • 注册日期2005-04-30
  • 最后登录2005-08-25
  • 粉丝0
  • 关注0
  • 积分66分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-07-20 22:14
我在usb初始化程序中,write_9604(RXC0,RX_EN);rdata=read_9604(RXC0):然后调用一个函数在超级终端上显示。读出来的结果与写的结果不一样,RX_EN没有置位,为什么呢?请多多指教,我是名学生,在此谢谢你了
天涯
angleliu
驱动牛犊
驱动牛犊
  • 注册日期2005-04-30
  • 最后登录2005-08-25
  • 粉丝0
  • 关注0
  • 积分66分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-07-23 08:58
您好:
 我也遇到了和你一样的问题,中断只进入一次,进入读设备描述表,就没有再进去过,没有枚举到setaddress,您后来是怎么解决的,可以告诉我吗
天涯
游客

返回顶部