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

📄 isr.c.bak

📁 一个类似于shell的程序
💻 BAK
字号:
#include "..\inc\isr.h"
#include "..\inc\option.h"
#include "..\inc\44b.h"
#include "..\inc\44blib.h"
#include "..\inc\def.h"

U32 temp=1;
char buf[255];

void __irq EINT4567Isr(void)
{

	Uart_Printf("%dinterrupt happen\r\nINTPEND=%x\r\nr_ISPR=%x\r\nrEXTINTPND=%x\r\n",temp++,rINTPND,rI_ISPR,rEXTINTPND);
	rI_ISPC|=BIT_EINT4567;
	rEXTINTPND=0xf;
	//Uart_GetString(buf);
}


void  __irq IRQIsr(void)
{
	Uart_Printf("IRQ Interrupt\r\n");
	sysUtilsLightLed(LED2,TRUE);
	while(1);
}

void  __irq TIMER1Isr(void)
{
	rI_ISPC|=BIT_TIMER1;
	Uart_Printf("TIMER1 Interrupt\r\n");
	
}

//#define INTCode(add) 0xEA000000+(0x0cffff00)
void Isr_Init(void)
{
    /*
    ///////////////vectored INT init test code////////////////
    U32 i;
  	i=0x00000030;
  	*((volatile unsigned *)i)=0xea000000+((_ISR_STARTADDRESS+0x74-0x00000030-0x8)>>2);
    rINTCON=0x1;	  // Vectored Int. IRQ enable,FIQ disable  
   /////////////////////
   */
   
   
    rINTCON=0x5;	  // Unvectored Int. IRQ enable,FIQ disable  
    rINTMOD =0;  
    rINTMSK |=BIT_GLOBAL;		//disabled int

   //以下针对特定的中断口做初始化   
    rPCONG = rPCONG | 0xff00; //set GPG[7:4] interrupt 
    rPUPG = rPUPG & 0x00;//pull up resistor disable
    setLLInt(4);
    setLLInt(5);
    setLLInt(6);
    setLLInt(7);
    rEXTINT &= 0xffff;
    rINTPND=0;
    rEXTINTPND=0;
    pISR_EINT4567=(unsigned)EINT4567Isr;
    pISR_TIMER1=(unsigned)TIMER1Isr;
    rINTMSK &=~(BIT_GLOBAL|BIT_EINT4567);	  // 4567 interrupt available. others masked
    Uart_Printf("INT init ok\r\nINTPEND=%x\r\nr_ISPR=%x\r\n\r\n",rINTPND,rI_ISPR);

}

⌨️ 快捷键说明

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