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

📄 interrupt.c

📁 S3c2440硬件测试程序
💻 C
字号:

#include <string.h>
#include "def.h"
#include "option.h"
#include "2440addr.h"
#include "2440lib.h"
#include "2440slib.h" 

#include "HPI16.h"
#include "Interrupt.h" 

extern void HPIC_Write(short);

static void __irq Eint11_19(void)
{
    HPIC_Write(5);
    
    if(rEINTPEND==(1<<11))
    
    {
	//HPI16_HPIC_WL = (HPI16_HPIC_WL | 0x4);
	
	
	Uart_Printf("EINT11 interrupt is occurred.\n");
	rEINTPEND=(1<<11);
    }
    else if(rEINTPEND==(1<<19))
    {
	//HPI16_HPIC_WL = (HPI16_HPIC_WL | 0x4);
	
	Uart_Printf("EINT19 interrupt is occurred.\n");
	rEINTPEND=(1<<19);
    }
    else
    {
	Uart_Printf("rEINTPEND=0x%x\n",rEINTPEND);
	rEINTPEND=(1<<19)|(1<<11);
    }
    ClearPending(BIT_EINT8_23);
}


void HPI_ISR_function(void)
{

    Uart_Printf("[External Interrupt Test through PF0/2/11/19]\n");
    
 //   rGPFCON = (rGPFCON & 0xffcc)|(1<<5)|(1<<1);		//PF0/2 = EINT0/2
    rGPGCON = (rGPGCON & 0xff3fff3f)|(1<<23)|(1<<7);	//PG3/11 = EINT11/19

//rEXTINT0 = (rEXTINT0 & ~((7<<8)  | (0x7<<0))) | 0x4<<8 | 0x4<<0; //EINT0/2=rising edge triggered
//rEXTINT1 = (rEXTINT1 & ~(7<<12)) | 0x4<<12; //EINT11=rising edge triggered
//rEXTINT2 = (rEXTINT2 & ~(7<<12)) | 0x4<<12; //EINT19=rising edge triggered

  //  rEXTINT0 = (rEXTINT0 & ~((7<<8)  | (0x7<<0))) | 0x2<<8 | 0x2<<0; //EINT0/2=falling edge triggered
	rEXTINT1 = (rEXTINT1 & ~(7<<12)) | 0x2<<12; //EINT11=falling edge triggered
	rEXTINT2 = (rEXTINT2 & ~(7<<12)) | 0x2<<12; //EINT19=falling edge triggered
	
	// pISR_EINT0=(U32)Eint0Int;
   // pISR_EINT2=(U32)Eint2Int;
    pISR_EINT8_23=(U32)Eint11_19;

    rEINTPEND = 0xffffff;
    rSRCPND = BIT_EINT0|BIT_EINT2|BIT_EINT8_23; //to clear the previous pending states
    rINTPND = BIT_EINT0|BIT_EINT2|BIT_EINT8_23;
    
    rEINTMASK=~( (1<<11)|(1<<19) );
    rINTMSK=~(BIT_EINT0|BIT_EINT2|BIT_EINT8_23);
    
   //rEINTMASK=0xffffff;
   //rINTMSK=BIT_ALLMSK;

}

⌨️ 快捷键说明

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