|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
USB中斷問題. |
| 作者:coke 欄目:ARM技術(shù) |
我已經(jīng)將USBN9603與電腦成功連接了. 已經(jīng)在電腦上可以顯示一個DEVICE器件. 但是在調(diào)試中斷時候發(fā)現(xiàn)一個問題. 以下是USB中斷程序. void __irq usb_node_handler(void) { U8 usbn_event; int_time++; // Clear the interrupt rI_ISPC|=BIT_EINT0; //clear pending_bit while( (usbn_event = (read_usb(MAEV) & read_usb(MAMSK)))!=FALSE ) { if (usbn_event & RX_EV) { int_time1++; USBN9603_rx_event_handler(); } if (usbn_event & ALT) { int_time2++; USBN9603_alt_event_handler(); } if (usbn_event & TX_EV) { int_time3++; USBN9603_tx_event_handler(); } if (usbn_event & NAK) { int_time4++; if (read_usb(NAKEV) & 0x10) {//NAK OUT FLUSHTX0; FLUSHRX0; //re enable receving DISABLE_TX(ENDPOINT_0); ENABLE_RX(ENDPOINT_0); } } } } 在每種中斷程序中用一個變量加一. 仿真調(diào)試后. 觀察各變量數(shù)值分別是: int_time: 0x153 int_time1:0x13 int_time2:0x1102 int_time3:0x1c int_time4:0x01 奇怪的是中斷的總數(shù)int_time是0x153. 而單ALT中斷就占了不得0x1102次.也就是在alt中斷中循環(huán)了很多次. 請問以上結(jié)果是對的嗎. 我已經(jīng)將錯就錯44b0設(shè)置為下降緣和低電平中斷.結(jié)果一樣.如果如上是對的.那么就經(jīng)常處于中斷.44B0都沒時間去處理其他事情了? 郁悶! |
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |