irq.c
来自「ARM 4510 bootloader,完整的工程实例」· C语言 代码 · 共 39 行
C
39 行
#include "DataType.h"
#include "board.h"
#include "4510irq.h"
typedef void (*PrVoid)(void);
U32 pIrqStart, pIrqFinish, pIrqHandler;
PrVoid IrqHandler[MaxIrqNumber];
static void IrqEntry(U32 irq)
{
if(irq<MaxIrqNumber)
if(IrqHandler[irq])
(*IrqHandler[irq])();
}
U32 SetIrqVector(U16 irq, U32 handler)
{
U32 sHandler=0;
if(irq<MaxIrqNumber)
{
sHandler = (U32)IrqHandler[irq];
IrqHandler[irq] = (PrVoid)handler;
}
return sHandler;
}
void InitIrq(void)
{
pIrqHandler = (U32)IrqEntry;
CAM_Reg(INTMOD) = INT_MODE_IRQ;
CAM_Reg(INTMSK) = INT_MASK_DIS;
CAM_Reg(INTPND) = INT_MASK_DIS;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?