interrupt.c

来自「Linux下s3c2440ADC和触摸屏测试程序」· C语言 代码 · 共 40 行

C
40
字号
#include "s3c24xx.h"//extern void I2CIntHandle(void);void (*isr_handle_array[50])(void);void Dummy_isr(void){    while(1);}void init_irq(void){    int i = 0;    for (i = 0; i < sizeof(isr_handle_array) / sizeof(isr_handle_array[0]); i++)    {        isr_handle_array[i] = Dummy_isr;    }    INTMOD = 0x0;	      // 所有中断都设为IRQ模式    INTMSK = BIT_ALLMSK;  // 先屏蔽所有中断//	isr_handle_array[ISR_IIC_OFT]  = I2CIntHandle;}void IRQ_Handle(void){	unsigned long oft = INTOFFSET;    	//清中断	if (oft == 4)        EINTPEND = 1<<7;    //EINT4-7合用IRQ4,注意EINTPEND[3:0]保留未用,向这些位写入1可能导致未知结果	SRCPND = 1<<oft;		INTPND = INTPND;	     /* 调用中断服务程序 */    isr_handle_array[oft]();}

⌨️ 快捷键说明

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