📄 interrupt.c
字号:
/**********************************************************************************/
/* */
/* Copyright (C) 2006 Oki Electric Industry Co., LTD. */
/* */
/* Module Name : Intterrupt Source file */
/* File Name : Intterrupt.c */
/* Revision : 1.00 */
/* Date : 2006/03/17 */
/**********************************************************************************/
#include "interrupt.h"
void exec_Handler(void);
void dma_Handler(void);
extern ULONG exec_finish_flag;
PIRQ_HANDLER IRQ_HANDLER_TABLE[MAXWORD];
/****************************************/
/*
init_Irq(void)
*/
/****************************************/
void init_Irq(void)
{
int i;
*(ULONG*)ILC0 = 0;
*(ULONG*)ILC1 = 0;
*(ULONG*)EXILCA = 0;
*(ULONG*)IRQS = 0;
*(ULONG*)CIL = 0x000000FE;
for(i=0; i < IRQ_SIZE ; i++){
IRQ_HANDLER_TABLE[i] = null_Handler;
}
return;
}
/****************************************/
/*
reg_Irq_Handler(void)
*/
/****************************************/
void reg_Irq_Handler(void)
{
IRQ_HANDLER_TABLE[INT_EXEC] = exec_Handler;
*(ULONG*)ILC1 |= ILC1_ILR13;
return;
}
/****************************************/
/*
irq_Handler(void)
*/
/****************************************/
__irq void irq_Handler(void)
{
ULONG irn = 0;
irn = *(ULONG*)IRN;
if(irn < 32){
IRQ_HANDLER_TABLE[irn]();
}
*(ULONG*)CILCL = 0x00000000;
return;
}
/****************************************/
/*
exec_Handler(void)
*/
/****************************************/
void exec_Handler(void)
{
exec_finish_flag = 1;
*(ULONG *)IRQSTATUS =1;
return;
}
/****************************************/
/*
null_Handler(void)
*/
/****************************************/
void null_Handler(void)
{
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -