aduc_irq.c

来自「AD的ARM7,一个比较全的开发代码,开发环境是IAR,提供大家参考」· C语言 代码 · 共 66 行

C
66
字号
/*    Function Pointers for Interrupts  */
typedef void (* tyVctHndlr) (void);

tyVctHndlr    IRQ     = (tyVctHndlr)0x0;
tyVctHndlr    SWI     = (tyVctHndlr)0x0;
tyVctHndlr    FIQ     = (tyVctHndlr)0x0;
tyVctHndlr    UNDEF   = (tyVctHndlr)0x0;
tyVctHndlr    PABORT  = (tyVctHndlr)0x0;
tyVctHndlr    DABORT  = (tyVctHndlr)0x0;

__irq __arm void	irq_handler(void);
__irq __arm void	swi_handler(void);
__irq __arm void	fiq_handler(void);
__irq __arm void	undef_handler(void);
__irq __arm void	prefetch_handler(void);
__irq __arm void	data_handler(void);

__irq __arm void	irq_handler(void) 
{
	if ( *IRQ !=0x00)
	{
		IRQ();
	}
}

__irq __arm void	fiq_handler(void) 
{
	if ( *FIQ !=0x00)
	{
		FIQ();
	}
}

__irq __arm void	swi_handler(void) 
{
	if ( *SWI !=0x00)
	{
		SWI();
	}
}

__irq __arm void	undef_handler(void) 
{
	if ( *UNDEF !=0x00)
	{
		UNDEF();
	}
}

__irq __arm void	prefetch_handler(void) 
{
	if ( *PABORT !=0x00)
	{
		PABORT();
	}
}

__irq __arm void	data_handler(void) 
{
	if ( *DABORT !=0x00)
	{
		DABORT();
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?