📄 isr.c
字号:
/**************************************************************************************************
*
* Copyright (c) 2001 - 2003 Isteki Electronics (kunshan) Corp. All rights reserved.
*
* FILENAME
* isr.c
*
* VERSION
* 1.0
*
* DESCRIPTION
* This file contains the IRQ exception handler
*
* DATA STRUCTURES
* 1. IRQ_HandlerTable[]
*
* FUNCTIONS
* 1. Fun_SetIntISR()
* 2. IRQ_IntHandler()
*
* HISTORY
* 10/28/2003 Ver 1.0 Created by Jim Lin
*
* REMARK
* None
*
*************************************************************************************************/
#include "740defs.h"
/* Define HW_VECTOR_NUMBER when using AIC hardware priority encoding mechanism */
typedef void (*fptr)(); /* function pointer */
fptr IRQ_HandlerTable[19]; /* Interrupt Handler Table */
/************************************************/
/* Name: Fun_SetIntISR */
/* In: vector :pherial int number */
/* (*handler)():pherial int entry */
/* Out: None */
/* Description: */
/* set every AIC interrupt entry */
/************************************************/
void Fun_SetIntISR(int vector, void (*handler)())
{
/* install interrupt service routine */
IRQ_HandlerTable[vector] = handler;
}
/************************************************/
/* Name: IRQ_IntHandler */
/* In: None */
/* Out: None */
/* Description: */
/* this is IRQ interrutp service rutine*/
/************************************************/
__irq void IRQ_IntHandler(void)
{
uint32 irqVect, irqNum;
// while(1){;}
irqVect= AIC_IPER; /* MUST read the IPER */
irqNum = inpw(AIC_ISNR); /* read the interrupt source number */
(*IRQ_HandlerTable[irqNum])();
AIC_EOSCR = 0; /* acknowledge AIC to report next interrupt request */
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -