| 
  |||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe  | 
  
2410開發(fā)板,裸機(jī)運(yùn)行,CS8900A不產(chǎn)生中斷,怎么辦? | 
  
| 作者:32位處理器 欄目:ARM技術(shù) | 
CS8900A自身用IRQ0輸出中斷,接2410的EINT8。我用H-JTAG + WIGGLER調(diào)試。 CS8900A的初始化設(shè)置(用MEMORY MODE訪問): LINE_CTL &= ~(AUI_ONLY | AUI_AUTO); INDI_ADDR56 = 0x0506; //MAC 01-02-03-04-05-06 INDI_ADDR34 = 0x0304; INDI_ADDR12 = 0x0102; RX_CTL |= (RX_OK_A | INDI_ADR_A | PROMISCUOUS_A | BROADCAST_A); RX_CFG |= (RX_OK_IE | BUFFER_CRC); BUF_CFG |= (RX_MISS_IE); LINE_CTL |= (SER_RX_ON | SER_TX_ON); INTCH = 0x0000; //use IRQ0 BUS_CTL |= (ENABLE_IRQ); 2410關(guān)于中斷的設(shè)置: GPGCON = 0x55555556; //SELECT EINT8 for CS8900A EXTINT1 = 0x22222221; //CS8900A irq active high EINTMASK &= ~(1 << 8); INTMSK &= ~(INT_TIMER4 | INT_UART0 | INT_EINT8_23); //enable timer4 ,uart0 ,eint8 irq INTSUBMSK &= ~(INT_RXD0); 已經(jīng)確認(rèn)的情況: 1. 定時(shí)器4和串口0的中斷是正常的。 2. 用查詢方式可以查詢到CS8900A的ID:630E,可以正確接收完整的以太網(wǎng)幀。 3. 如果將CS8900A的中斷輸出改為IRQ1,即等于將2410的EINT8懸空,那么EINT8的外中斷處理被頻繁觸發(fā)。 4. 將EINT8的管腳GPG0設(shè)置為GPIO輸入,并不斷讀取該管腳的電平,始終為低。(我沒有示波器) 我的問題是:為什么不能通過外部中斷接收CS8900A的數(shù)據(jù)?我認(rèn)為是CS8900A不產(chǎn)生中斷。 各位請(qǐng)指教。  | 
  
  | 
    
 
  | 
  
| 免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 | 
Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號(hào)  |