⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 samisr.c

📁 ucOS2 for AT91SAM7S64,KEIL环境
💻 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 + -