阅读:1527回复:7
做过USBN9603/4的大侠看看
我现在在做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); } |
|
沙发#
发布于:2005-07-13 17:08
帮帮我呀,兄弟们
|
|
板凳#
发布于:2005-07-13 17:09
帮我顶顶啊~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
地板#
发布于:2005-07-15 21:34
应该能中断多次,我也在用这个芯片
|
|
|
地下室#
发布于:2005-07-15 21:53
我也再用这个芯片usbn9604,qq:19565305,发usb驱动,我加你。我在哈尔滨工业大学,可以和我联系互相学习。
|
|
|
5楼#
发布于:2005-07-20 22:07
我说兄弟,和我联系阿
|
|
|
6楼#
发布于:2005-07-20 22:14
我在usb初始化程序中,write_9604(RXC0,RX_EN);rdata=read_9604(RXC0):然后调用一个函数在超级终端上显示。读出来的结果与写的结果不一样,RX_EN没有置位,为什么呢?请多多指教,我是名学生,在此谢谢你了
|
|
|
7楼#
发布于:2005-07-23 08:58
您好:
我也遇到了和你一样的问题,中断只进入一次,进入读设备描述表,就没有再进去过,没有枚举到setaddress,您后来是怎么解决的,可以告诉我吗 |
|
|