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

📄 interrupt.h

📁 基于HMS7202的波形发生器源程序
💻 H
字号:
/* ISR */
//#define pISR_RESET	(*(unsigned *)(_ISR_STARTADDRESS+0x0))
//#define pISR_UNDEF	(*(unsigned *)(_ISR_STARTADDRESS+0x4))
//#define pISR_SWI	(*(unsigned *)(_ISR_STARTADDRESS+0x8))
//#define pISR_PABORT	(*(unsigned *)(_ISR_STARTADDRESS+0xc))
//#define pISR_DABORT	(*(unsigned *)(_ISR_STARTADDRESS+0x10))
//#define pISR_RESERVED	(*(unsigned *)(_ISR_STARTADDRESS+0x14))
//#define pISR_IRQ	(*(unsigned *)(_ISR_STARTADDRESS+0x18))
//#define pISR_FIQ	(*(unsigned *)(_ISR_STARTADDRESS+0x1c))
#define SVRBase     0x80024010
#define pISR_PMU	(*(unsigned int*)(SVRBase))
#define pISR_DMA    (*(unsigned int*)(SVRBase+4))
#define pISR_LCD    (*(unsigned int*)(SVRBase+4*2))
#define pISR_SOUND    (*(unsigned int*)(SVRBase+4*3))
#define pISR_I2S    (*(unsigned int*)(SVRBase+4*4))
#define pISR_USB    (*(unsigned int*)(SVRBase+4*5))
#define pISR_MMC    (*(unsigned int*)(SVRBase+4*6))
#define pISR_RTC    (*(unsigned int*)(SVRBase+4*7))
#define pISR_UART0    (*(unsigned int*)(SVRBase+4*8))
#define pISR_UART1    (*(unsigned int*)(SVRBase+4*9))
#define pISR_UART2    (*(unsigned int*)(SVRBase+4*10))
#define pISR_UART3    (*(unsigned int*)(SVRBase+4*11))
#define pISR_KBD    (*(unsigned int*)(SVRBase+4*12))
#define pISR_PS2    (*(unsigned int*)(SVRBase+4*13))
#define pISR_AIC    (*(unsigned int*)(SVRBase+4*14))
#define pISR_TIMER0    (*(unsigned int*)(SVRBase+4*15))
#define pISR_TIMER123    (*(unsigned int*)(SVRBase+4*16))
#define pISR_WDT    (*(unsigned int*)(SVRBase+4*17))
#define pISR_CAN0    (*(unsigned int*)(SVRBase+4*18))
#define pISR_CAN1    (*(unsigned int*)(SVRBase+4*19))
#define pISR_EXT0    (*(unsigned int*)(SVRBase+4*20))
#define pISR_EXT1    (*(unsigned int*)(SVRBase+4*21))
#define pISR_GPIOA    (*(unsigned int*)(SVRBase+4*22))
#define pISR_GPIOB    (*(unsigned int*)(SVRBase+4*23))
#define pISR_GPIOC    (*(unsigned int*)(SVRBase+4*24))
#define pISR_GPIOD    (*(unsigned int*)(SVRBase+4*25))
#define pISR_GPIOE    (*(unsigned int*)(SVRBase+4*26))
#define pISR_COMMRX    (*(unsigned int*)(SVRBase+4*27))
#define pISR_COMMTX    (*(unsigned int*)(SVRBase+4*28))
#define pISR_SMC    (*(unsigned int*)(SVRBase+4*29))
#define pISR_SWI    (*(unsigned int*)(SVRBase+4*30))

#define UNMASK_PMU 0x1
#define UNMASK_DMA 0x2
#define UNMASK_LCD 0x4
#define UNMASK_SOUND 0x8
#define UNMASK_I2S 0x10
#define UNMASK_USB 0x20
#define UNMASK_MMC 0x40
#define UNMASK_RTC 0x80
#define UNMASK_UART0 0x100
#define UNMASK_UART1 0x200
#define UNMASK_UART2 0x400
#define UNMASK_UART3 0x800
#define UNMASK_KBD 0x1000
#define UNMASK_PS2 0x2000
#define UNMASK_AIC 0x4000
#define UNMASK_TIMER0 0x8000
#define UNMASK_TIMER123 0x10000
#define UNMASK_WDT 0x20000
#define UNMASK_CAN0 0x40000
#define UNMASK_CAN1 0x80000
#define UNMASK_EXT0 0x100000
#define UNMASK_EXT1 0x200000
#define UNMASK_GPIOA 0x400000
#define UNMASK_GPIOB 0x800000
#define UNMASK_GPIOC 0x1000000
#define UNMASK_GPIOD 0x2000000
#define UNMASK_GPIOE 0x4000000
#define UNMASK_COMMRX 0x8000000
#define UNMASK_COMMTX 0x10000000
#define UNMASK_SMC 0x20000000
#define UNMASK_SWI 0x40000000

#define N_INTR			31
#define N_IRQ			N_INTR

/* Defines Interrupt Level */
/* And each level means device ID in INTC */
#define PMU_LEVEL			0 // 0x00000001
#define DMA_LEVEL			1 // 0x00000002
#define LCD_LEVEL			2 // 0x00000004
#define SOUND_LEVEL			3 // 0x00000008
#define I2S_LEVEL			4 // 0x00000010
#define USB_LEVEL			5 // 0x00000020
#define MMC_LEVEL			6 // 0x00000040
#define RTC_LEVEL			7 // 0x00000080
#define UART0_LEVEL 		8 // 0x00000100
#define UART1_LEVEL			9 // 0x00000200
#define UART2_LEVEL			10// 0x00000400
#define UART3_LEVEL			11// 0x00000800	
#define KBD_LEVEL			12// 0x00001000
#define PS2_LEVEL	 		13// 0x00002000
#define AIC_LEVEL			14// 0x00004000
#define TIMER0_LEVEL		15// 0x00008000
#define TIMERX_LEVEL		16// 0x00010000
#define WDT_LEVEL			17// 0x00020000
#define CAN0_LEVEL			18// 0x00040000
#define CAN1_LEVEL			19// 0x00080000
#define EXT0_LEVEL			20// 0x00100000
#define EXT1_LEVEL			21// 0x00200000
#define GPIOA_LEVEL			22// 0x00400000
#define GPIOB_LEVEL			23// 0x00800000
#define GPIOC_LEVEL			24// 0x01000000
#define GPIOD_LEVEL			25// 0x02000000
#define GPIOE_LEVEL			26// 0x04000000
#define COMMRX_LEVEL		27// 0x08000000
#define COMMTX_LEVEL		28// 0x10000000
//#define RESERVED			29// 0x20000000
#define SMC_LEVEL			29// 0x20000000
#define Soft_LEVEL			30// 0x40000000
//#define RESERVED			31// 0x80000000
#define NOFIQ_FLAG			31// 0x80000000



/*****************************************************************************/
/*     function declear
/*****************************************************************************/
void init_int();
void EXT1();
void interrupt_test();
int unmaskInterrupt(int);
int maskInterrupt(int);

⌨️ 快捷键说明

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