📄 interrupt.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 + -