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

📄 interrupt.h

📁 ch7013驱动
💻 H
字号:
#ifndef _INTERRUPT_H
#define _INTERRUPT_H

#define     INT_RTC         31
#define     INT_DMA         30
#define     INT_EMI         29
#define     INT_GPT         28
#define     INT_USB         27
#define     INT_SPI         26
#define     INT_MMC         25
#define     INT_UART0       24
#define     INT_UART1       23
#define     INT_PWM         22
#define     INT_AC97        21
#define     INT_LCD         20
#define     INT_EXT17       19
#define     INT_EXT16       18
#define     INT_EXT15       17
#define     INT_NONE        16
#define     INT_EXT14       15
#define     INT_EXT13       14
#define     INT_EXT12       13
#define     INT_EXT11       12
#define     INT_EXT10       11
#define     INT_EXT9        10
#define     INT_EXT8        9
#define     INT_EXT7        8
#define     INT_EXT6        7
#define     INT_EXT5        6
#define     INT_EXT4        5
#define     INT_EXT3        4
#define     INT_EXT2        3
#define     INT_EXT1        2
#define     INT_EXT0        1
#define     INT_NULL        0

/* definition of vector struct for interrrupt */
typedef struct int_vector{
	char		IntNum;
	void	(*handler)(void);
}INT_VECTOR;


#define set_plevel(plevel)		REG32(INTC_PLV) =  plevel
#define set_int_force(intnum)	REG32(INTC_IFCE) = (1 << intnum)
#define irq_enable(intnum)	REG32(INTC_IEN) |= (1 << intnum)
#define irq_disable( intnum)	REG32(INTC_IEN) &= ~(1<< intnum)
#define mask_irq(intnum)		REG32(INTC_IMSK) |= (1 << intnum)
#define unmask_irq(intnum)	REG32(INTC_IMSK) &= ~(1 << intnum)
#define mask_all_irq() 		REG32(INTC_IMSK) = 0xFFFFFFFF
#define unmask_all_irq()		REG32(INTC_IMSK) = 0x00000000
#define enable_all_irq()		REG32(INTC_IEN) = 0XFFFFFFFF
#define disable_all_irq()		REG32(INTC_IEN) = 0X00000000
#define INT_INIT()	do{mask_all_irq(); enable_all_irq();}while(0)


#endif

⌨️ 快捷键说明

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