?? sys_irq.c
字號:
//====================================================================================//文 件 名:Sys_IRQ.c//功能描述: SPCE3200 40個中斷源(硬件)的中斷向量分支及軟件中斷處理。// 使用時,用戶不需要修改此文件中的內容//維護記錄: 2007年1月11日 v1.0 by hongyan.Feng//====================================================================================//===================================================// 聲明用戶定義外部中斷服務函數//===================================================extern void IRQ63(void);extern void IRQ62(void);extern void IRQ61(void);extern void IRQ60(void);extern void IRQ59(void);extern void IRQ58(void);extern void IRQ57(void);extern void IRQ56(void);extern void IRQ55(void);extern void IRQ54(void);extern void IRQ53(void);extern void IRQ52(void);extern void IRQ51(void);extern void IRQ50(void);extern void IRQ49(void);extern void IRQ48(void);extern void IRQ47(void);extern void IRQ46(void);extern void IRQ45(void);extern void IRQ44(void);extern void IRQ43(void);extern void IRQ42(void);extern void IRQ41(void);extern void IRQ40(void);extern void IRQ39(void);extern void IRQ38(void);extern void IRQ37(void);extern void IRQ36(void);extern void IRQ35(void);extern void IRQ34(void);extern void IRQ33(void);extern void IRQ32(void);extern void IRQ31(void);extern void IRQ30(void);extern void IRQ29(void);extern void IRQ28(void);extern void IRQ27(void);extern void IRQ26(void);extern void IRQ25(void);extern void IRQ24(void);//====================================================// 語法格式:void intmsg(void)// 功能描述: 軟件中斷及除SPCE3200 40個硬件中斷之外的// S+core內核硬件中斷處理程序// 入口參數: 無// 出口參數: 無//====================================================void intmsg(void){ while(1);}//====================================================// 語法格式:void irq_dispatch(unsigned int cp0_cause)// 功能描述: 取SPCE3200 40個硬件中斷的中斷向量號,// 根據中斷向量號調用相應中斷服務程序// 入口參數: cp0_cause為S+core內核寄存器cr2的內容// 其中第23~18位為63個硬件中斷的中斷請求(中斷向量號)// 出口參數: 無//====================================================void irq_dispatch(unsigned int cp0_cause){ int intvec=0; intvec = (cp0_cause & 0x00FC0000)>>18; // 取中斷向量號 switch (intvec) { case 63: // DAC中斷 IRQ63(); break; case 62: // 保留 IRQ62(); break; case 61: // 保留 IRQ61(); break; case 60: // 保留 IRQ60(); break; case 59: // MIC溢出中斷 IRQ59(); break; case 58: // ADC中斷 IRQ58(); break; case 57: // TMB中斷 IRQ57(); break; case 56: IRQ56(); // Timer中斷 break; case 55: IRQ55(); // TV vblanking start中斷 break; case 54: IRQ54(); // LCD vblanking start中斷 break; case 53: IRQ53(); // 保留 break; case 52: // Light Gun中斷 IRQ52(); break; case 51: // CSI frame end中斷 IRQ51(); break; case 50: // CSI coordinate hit中斷 IRQ50(); break; case 49: // CSI motion frame end中斷 IRQ49(); break; case 48: // CSI capture done中斷 IRQ48(); break; case 47: // TV coordinate hit中斷 IRQ47(); break; case 46: // 保留 IRQ46(); break; case 45: // USB host+device中斷 IRQ45(); break; case 44: // SIO中斷 IRQ44(); break; case 43: // SPI中斷 IRQ43(); break; case 42: // UART中斷 IRQ42(); break; case 41: // Nand中斷 IRQ41(); break; case 40: // SD中斷 IRQ40(); break; case 39: // I2C中斷 IRQ39(); break; case 38: // I2S中斷 IRQ38(); break; case 37: // APBDMA CH1中斷 IRQ37(); break; case 36: // APBDMA CH2中斷 IRQ36(); break; case 35: // LDM DMA中斷 IRQ35(); break; case 34: // BIN DMA中斷 IRQ34(); break; case 33: // APBDMA CH3中斷 IRQ33(); break; case 32: // APBDMA CH4中斷 IRQ32(); break; case 31: // RTC中斷 IRQ31(); break; case 30: // MP4中斷 IRQ30(); break; case 29: // C3--ECC Module中斷 IRQ29(); break; case 28: // GPIO中斷 IRQ28(); break; case 27: // BUFCTL and TVvblanking end中斷 IRQ27(); break; case 26: // 保留 IRQ26(); break; case 25: // 保留 IRQ25(); break; case 24: // 保留 IRQ24(); break; default: break; } return;}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -