irq.c

来自「uc/fs文件系统」· C语言 代码 · 共 54 行

C
54
字号
/*  
***********************************************************************
* FILE NAME    :irq.c	      		             	               
* DESCRIPTION	:Interrupt initialization 	                        
* Date			:2004.1.2
* Modified by 	:Avirl	                                        				
* FUNCTIONS 	:Interrupt_Init()														                 				
************************************************************************
*/
#include "..\inc\ads.h"
#include "..\inc\conreg.h"
#include "..\inc\irq.h"

extern void  timer0_IRQ_handler(void);
extern void  Uart0_IRQ_handler(void);
extern void  UART16C550_IRQ_handler(void);

int int_done=0;

/*
************************************************************************
*	Initialize the AIC 																		
*************************************************************************
*/
int	Interrupt_Init(void)
{	
 
   	AIC_IDCR=0xFFFFFFFF;                   /*Disable all Interrupt*/
	AIC_ICCR=0xFFFFFFFF;                   /*Clear all Interrupt*/

	TC0IRQ_SMR=0x00000007;                 /*Set the Trigg and Priority for Timer0 Interrupt*/
	TC0IRQ_SVR=(int)timer0_IRQ_handler;    /*Set the Timer0 IRQ handler Address*/
   
    US0IRQ_SMR=0x00000005;                 /*Set the Trigg and Priority for Timer0 Interrupt*/
	US0IRQ_SVR=(int)Uart0_IRQ_handler;    /*Set the Timer0 IRQ handler Address*/  
	
	/*added by caiyanan at 2004.5.19*/
	//16C550的中断IRQ0
	//IRQ0_SMR  =0x00000046;             //高电平触发
	//IRQ0_SVR=(int)UART16C550_IRQ_handler;    /*Set the Timer0 IRQ handler Address*/  
   ///////////////////////////////////////
    // AIC_IDCR=0xFFFEFFEB;
	//AIC_IECR=0x00010014;				    /*Enable Timer0 ,Uart0 Interrupt,IRQ0 Interrupt */
	
	AIC_IDCR=0xFFFFFFEB;
	AIC_IECR=0x00000014;				    /*Enable Timer0 ,Uart0 Interrupt*/
	
	// AIC_IDCR=0xFFFEFFFF;
	// AIC_IECR=0x00010000;				    /*EnableIRQ0 Interru*/
	
    return 1;
}

⌨️ 快捷键说明

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