⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 irq.c

📁 基于STR710和嵌入式操作系统的串口驱动程序
💻 C
字号:
/****************************************Copyright (c)**************************************************
**                                      
**                                          
**                               杭州央海软件科技有限公司
**
**                                 http://www.osmcu.com
**
**--------------文件信息--------------------------------------------------------------------------------
** 文 件 名: irq.c
** 创建日期: 2006年5月25日
** 描    述: 中断高级应用,IRQ,FIQ中断处理部分,如果需要处理中断请在irqHandlers[32]添加相应的中断处理例程
**
**--------------历史版本--------------------------------------------------------------------------------
** 修 改 人: 罗辉联 	
** 版    本: V1.0
** 日   期: 2006年5月25日
** 描   述: 原始版本
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/


#include "config.h"


/***************************************** 外部、局部函数声明 ******************************************/


/******************************************* 全局变量定义 ***********************************************/

const FUNCTION irqHandlers[32] = 
{
	// 服务例程
	IRQ_Dummy, //0 Timer 0 global interrupt
	IRQ_Dummy,  //1 FLASH global interrupt
	IRQ_Dummy  , //2 PRCCU global interrupt
	IRQ_Dummy   , //3 Real Time Clock global interrupt
	IRQ_Dummy   , //4 Watchdog timer interrupt
	IRQ_Dummy   , //5 XTI external interrupt
	IRQ_Dummy , //6 USB high priority event interrupt
	IRQ_Dummy, //7 I2C 0 error interrupt
	IRQ_Dummy, //8 I2C 1 error interrupt
    IRQ_Dummy, //9  UART 0 global interrupt
    IRQ_Dummy, //10 UART 1 global interrupt
    IRQ_Dummy, //11 UART 2 global interrupt
    uart3_irq, //12 UART 3 global interrupt
    IRQ_Dummy, //13 BSPI 0 global interrupt
    IRQ_Dummy, //14 BSPI 1 global interrupt
    IRQ_Dummy,  //15 I2C 0 tx/rx interrupt
    IRQ_Dummy,  //16 I2C 1 tx/rx interrupt
    IRQ_Dummy,   //17 CAN module global interrupt
    IRQ_Dummy, //18 ADC sample ready interrupt
    IRQ_Dummy,//19 Timer 1 global interrupt
    IRQ_Dummy,//20 Timer 2 global interrupt
    IRQ_Dummy,//21 Timer 3 global interrupt
    IRQ_Dummy,         //22
    IRQ_Dummy,         //23
    IRQ_Dummy,         //24
    IRQ_Dummy,  //25 HDLC global interrupt
    IRQ_Dummy, //26 USB low priority event interrupt
    IRQ_Dummy,         //27
    IRQ_Dummy,         //28
    timer0_overflow_ISR, //29 Timer 0 Overflow interrupt
    IRQ_Dummy, //30 Timer 0 Output Compare A interrupt 
    IRQ_Dummy  //31 Timer 0 Output Compare B interrupt
};

/*********************************************************************************************************
;** 函数名称: IRQ_Handler
;** 功能描述: IRQ 例程入口
;** 
;** 参    数: None
;**          
;** 返 回 值: None
;**         
;** 作   者: 罗辉联
;** 日   期: 2006年5月10日
;**-------------------------------------------------------------------------------------------------------
;** 修 改 人: 
;** 日   期: 
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
void IRQ_Handler(void) 
{
	UWORD32	 i = 0;
	
	i = EIC_IVR;                                       //读取IVR,从而使ARM更新相关的寄存器
	            
	irqHandlers[GET_CURRENT_IRQ_NUMBER]();             //执行出现的中断例程
	
	CLEAR_CURRENT_IRQ_PENDING(GET_CURRENT_IRQ_NUMBER); //清除服务结束的中断,允许新的中断(宏定义方式)
	
	return;
}

/*********************************************************************************************************
;** 函数名称: FIQ_Handler
;** 功能描述: FIQ 例程入口
;** 
;** 参    数: None
;**          
;** 返 回 值: None
;**         
;** 作   者: 罗辉联
;** 日   期: 2006年5月10日
;**-------------------------------------------------------------------------------------------------------
;** 修 改 人: 
;** 日   期: 
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
void FIQ_Handler(void) 
{
	if(GET_CURRENT_FIQ_NUMBER == 1)			//T0TIMI_FIQ
	{
	}
	else if(GET_CURRENT_FIQ_NUMBER == 2)	//WDG_FIQ
	{
	}
	else if(GET_CURRENT_FIQ_NUMBER == 3)	//WDGT0TIMI_FIQ
	{
	}
	
	return;
}
/*********************************************************************************************************
;** 函数名称: IRQ_Dummy
;** 功能描述: 空函数
;** 
;** 参    数: None
;**
;** 返 回 值: None
;**         
;** 作   者: 罗辉联
;** 日   期: 2006年5月10日
;**-------------------------------------------------------------------------------------------------------
;** 修 改 人: 
;** 日   期: 
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
void IRQ_Dummy(void)
{
}


/****************************************END OF FILE*****************************************************/

⌨️ 快捷键说明

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