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

📄 interrupt.h

📁 一个基于MMU的操作系统
💻 H
字号:
#define	INT_ADC_OFT		31
#define	INT_RTC_OFT		30 
#define	INT_SPI1_OFT	29 
#define	INT_UART0_OFT	28 
#define	INT_IIC_OFT 	27 
#define	INT_USBH_OFT 	26 
#define	INT_USBD_OFT 	25 
//#define	Reserved_OFT 	24 
#define	INT_UART1_OFT 	23 
#define	INT_SPI0_OFT 	22 
#define	INT_SDI_OFT 	21 
#define	INT_DMA3_OFT 	20 
#define	INT_DMA2_OFT 	19 
#define	INT_DMA1_OFT 	18 
#define	INT_DMA0_OFT 	17 
#define	INT_LCD_OFT 	16 
#define	INT_UART2_OFT 	15
#define	INT_TIMER4_OFT 	14
#define	INT_TIMER3_OFT 	13
#define	INT_TIMER2_OFT 	12
#define	INT_TIMER1_OFT 	11
#define	INT_TIMER0_OFT 	10
#define	INT_WDT_OFT 	9
#define	INT_TICK_OFT 	8
#define	nBATT_FLT_OFT 	7
//#define	Reserved_OFT 	6
#define	EINT8_23_OFT	5
#define	EINT4_7_OFT 	4
#define	EINT3_OFT 		3
#define	EINT2_OFT 		2
#define	EINT1_OFT 		1
#define	EINT0_OFT 		0

void IRQ_Handle(void);
//inline void OS_ENTER_CRITICAL(void);
//inline void OS_EXIT_CRITICAL(void);

#define OS_ENTER_CRITICAL()	\
__asm__(			\
	"mrs	r0,	cpsr\n"\
	"stmdb	sp!,	{r0}\n"\
	"orr	r0, r0, 	#0x80\n"\
	"msr	cpsr_c,	r0\n"\
	:::"r0"\
	)
	

/********************************************************************
* 2006.6.20:添加恢复原中断状态代码,并修改为inline
********************************************************************/
#define OS_EXIT_CRITICAL()	\
__asm__(			\
	"ldmia	sp!,	{r0}\n"\
	"tst	r0,	#0x80\n"\
	"mrs	r0,	cpsr\n"\				
	"biceq	r0, r0, 	#0x80\n"\
	"msr	cpsr_c,	r0\n"\
	:::"r0"\
	)

⌨️ 快捷键说明

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