interrupt.h
来自「直流电机、步进电机、舵机的完全驱动。直接GPIO口控制」· C头文件 代码 · 共 58 行
H
58 行
#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 + =
减小字号Ctrl + -
显示快捷键?