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

📄 irq.h

📁 ucos_ii在mini2440上的移植KEIL编译环境
💻 H
字号:
#ifndef _INTERRUPT_H_
#define _INTERRUPT_H_

#include <stdlib.h>
#include <string.h>
#include <S3C2440.h>

//中断服务处理函数个数
#define INT_TYPE_NUM	66

#define INT_MASK_ENABLE	0
#define INT_MASK_DISABLE	1

//一级中断(0 ~ 31)
#define INT_TYPE_INT_ADC	(31)
#define INT_TYPE_INT_RTC	(30)
#define INT_TYPE_INT_SPI1	(29)
#define INT_TYPE_INT_UART0	(28)
#define INT_TYPE_INT_IIC	(27)
#define INT_TYPE_INT_USBH	(26)
#define INT_TYPE_INT_USBD	(25)
#define INT_TYPE_INT_NFCON	(24)
#define INT_TYPE_INT_UART1	(23)
#define INT_TYPE_INT_SPI0	(22)
#define INT_TYPE_INT_SDI	(21)
#define INT_TYPE_INT_DMA3	(20)
#define INT_TYPE_INT_DMA2	(19)
#define INT_TYPE_INT_DMA1	(18)
#define INT_TYPE_INT_DMA0	(17)
#define INT_TYPE_INT_LCD	(16)
#define INT_TYPE_INT_UART2	(15)
#define INT_TYPE_INT_TIMER4	(14)
#define INT_TYPE_INT_TIMER3	(13)
#define INT_TYPE_INT_TIMER2	(12)
#define INT_TYPE_INT_TIMER1	(11)
#define INT_TYPE_INT_TIMER0	(10)
#define INT_TYPE_INT_WDT_AC97	(9)
#define INT_TYPE_INT_TICK	(8)
#define INT_TYPE_nBATT_FLT	(7)
#define INT_TYPE_INT_CAM	(6)
#define INT_TYPE_EINT8_23	(5)
#define INT_TYPE_EINT4_7	(4)
#define INT_TYPE_EINT3		(3)
#define INT_TYPE_EINT2		(2)
#define INT_TYPE_EINT1		(1)
#define INT_TYPE_EINT0		(0)

//二级外部中断(32 ~ 51)
#define INT_TYPE_EINT23		(51)
#define INT_TYPE_EINT22		(50)
#define INT_TYPE_EINT21		(49)
#define INT_TYPE_EINT20		(48)
#define INT_TYPE_EINT19		(47)
#define INT_TYPE_EINT18		(46)
#define INT_TYPE_EINT17		(45)
#define INT_TYPE_EINT16		(44)
#define INT_TYPE_EINT15		(43)
#define INT_TYPE_EINT14		(42)
#define INT_TYPE_EINT13		(41)
#define INT_TYPE_EINT12		(40)
#define INT_TYPE_EINT11		(39)
#define INT_TYPE_EINT10		(38)
#define INT_TYPE_EINT9		(37)
#define INT_TYPE_EINT8		(36)
#define INT_TYPE_EINT7		(35)
#define INT_TYPE_EINT6		(34)
#define INT_TYPE_EINT5		(33)
#define INT_TYPE_EINT4		(32)

//二级内部中断(52 ~	66)
#define INT_TYPE_INT_AC97	(66)
#define INT_TYPE_INT_WDT	(65)
#define INT_TYPE_INT_CAM_P	(64)
#define INT_TYPE_INT_CAM_C	(63)
#define INT_TYPE_INT_ADC_S	(62)
#define INT_TYPE_INT_TC		(61)
#define INT_TYPE_INT_ERR2	(60)
#define INT_TYPE_INT_TXD2	(59)
#define INT_TYPE_INT_RXD2	(58)
#define INT_TYPE_INT_ERR1	(57)
#define INT_TYPE_INT_TXD1	(56)
#define INT_TYPE_INT_RXD1	(55)
#define INT_TYPE_INT_ERR0	(54)
#define INT_TYPE_INT_TXD0	(53)
#define INT_TYPE_INT_RXD0	(52)

//中断处理服务函数原型
typedef void (* F_INTERRUPT_ISR)();

/*
	功能:
		中断处理机制初始化
	参数:
		void:无
	返回值:
*/
void IRQ_Init(void);

/*
	功能:
		提供中断处理分发处理,识别对应中断,处理对应中断
	参数:
	返回值:
*/
void IRQ_Dispatch(void);

/*
	功能:
		实现中断处理函数的注册
	参数:
		iInterruptNo 中断类型序号
		fInterruptISR 对应序号中断处理函数指针
	返回值:
*/
void IRQ_Install(int iInterruptNo,F_INTERRUPT_ISR fInterruptISR);

/*
	功能:
		实现中断处理函数的注销
	参数:
		iInterruptNo 要注销的中断类型序号
	返回值:
*/
void IRQ_UnInstall(int iInterruptNo);

/*
	功能:
		实现设置中断掩码
	参数:
		iInterruptNo 要处理的中断掩码的中断类型序号
		iEnable  为 INT_MSK_ENABLE 是开启中断掩码
				 为 INT_MSK_DISABLE 是关闭中断掩码
	返回值:
*/
void IRQ_SetMask(int iInterruptNo,int iEnable);




#endif

⌨️ 快捷键说明

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