/***********************************************************************************************************Functionname:IRQ_Exception**Descriptions:中断异常处理程序(实现...
/*********************************************************************************************************
** Function name: IRQ_Exception
** Descriptions: 中断异常处理程序(实现向量中断处理)
** Input: 无
** Output: 无
********************************************************************************************************/
void __irq IRQ_Exception(void)
{
void (*__Handler)(void);
int irq_no;
uint32 bak;
// 找出当前中断号
bak = rINTPND; // 读取INTPND的值
for(irq_no=0; irq_no<32; irq_no++)
{
bak = bak>>1;
if(bak == 0) break;
}
// 取得中断服务程序地址并执行
__Handler = (void (*)(void)) VICVectAddr[irq_no];
__Handler();
}
/*********************************************************************************************************
** Function name: FIQ_Exception
** Descriptions: 快速中断异常处理程序
** Input: 无
** Output: 无
********************************************************************************************************/
void FIQ_Exception(void)
{
while(1); // 这一句替换为自己的代码
}
展开