📄 samisr.c
字号:
#include "AT91SAM7S64.h"
#include "SAMIsr.h"
/*
ID Peripheral
0 AIC FIQ
1 SYSIRQ
2 PIOA
3 Reserved
4 ADC
5 SPI
6 US0
7 US1
8 SSC
9 TWI
10 PWMC
11 UDP
12 TC0
13 TC1
14 TC2
15~29 Reserved
30 AIC IRQ0
31 AIC IRQ1
*/
extern int Image$$RO$$Base;
extern void RESET(void);
extern void VECTORED_IRQ_HANDLER(void);
extern void S64PitISR(void);
extern void Uart0ISR(void);
extern void Uart1ISR(void);
extern void TC2ISR(void);
extern void PWMCISR(void);
void AT91_Dft_ISR(void)
{
}
void AT91_Spu_ISR(void)
{
}
void SAMIsrInit(void)
{
unsigned int i=0;
AT91C_BASE_AIC->AIC_SPU=(unsigned int)AT91_Spu_ISR;
for(i=1;i<32;i++)
{
AT91C_BASE_AIC->AIC_SVR[i]=(unsigned int)VECTORED_IRQ_HANDLER;//-(unsigned int)RESET;
}
}
void SAMIsr(unsigned int vect)
{
// 也可以使用函数指针
switch(vect)
{
case 0:
break;
case 1:S64PitISR();
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:Uart0ISR();
break;
case 7:Uart1ISR();
break;
case 8:
break;
case 9:
break;
case 10:PWMCISR();
break;
case 11:
break;
case 12:
break;
case 13:
break;
case 14:TC2ISR();
break;
case 15:
break;
case 16:
break;
case 17:
break;
case 18:
break;
case 19:
break;
case 20:
break;
case 21:
break;
case 22:
break;
case 23:
break;
case 24:
break;
case 25:
break;
case 26:
break;
case 27:
break;
case 28:
break;
case 29:
break;
case 30:
break;
case 31:
break;
default:
break;
}
AT91C_BASE_AIC->AIC_EOICR=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -