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

📄 exceptions.c

📁 适用于MPC555的uCOS接口程序
💻 C
字号:
// exceptions.c

// REV Jan 28, 2003 SM, AP

// This file is the placeholder for exception routines
#include "mpc555.h"
#include "includes.h"

extern VUINT8 pitctr;

void ExceptionRoutine(void);
void Isr_Lev0();
void Isr_Lev1();
void Isr_Lev2();
void Isr_Lev3();
void Isr_Lev4(); 			
void Isr_Lev5();			
void Isr_Lev6();
void Isr_Lev7();
void Isr_Irq0();
void Isr_Irq1();
void Isr_Irq2();
void Isr_Irq3();
void Isr_Irq4();
void Isr_Irq5();
void Isr_Irq6();
void Isr_Irq7();


void ExceptionRoutine(void)
{
	UINT8 INT_CODE;
	
	OSIntNesting++;
	
	OS_ENTER_CRITICAL();	//Following two lines are replacing this fcn call

	
	INT_CODE=USIU.SIVEC.B.INTERRUPT_CODE;
	switch(INT_CODE/4)
	{
		case 0:					//irq 0
		{
			Isr_Irq0();
			break;
		}
		case 1:					//level 0
		{
			Isr_Lev0();
			break;
		}
		case 2:					//irq 1
		{
			Isr_Irq1();
			break;
		}
		case 3:					//level 1
		{
		
			Isr_Lev1();
			break;
		}	
		case 4:					//irq 2		
		{
			Isr_Irq2();
			break;
		}		
		case 5:					//level 2	
		{
			Isr_Lev2();
			break;
		}	
		case 6:					//irq 3
		{
			Isr_Irq3();
			break;
		}			
		case 7:					//level 3	
		{
			Isr_Lev3();
			break;
		}
		case 8:					//irq 4	
		{
			Isr_Irq4();
			break;
		}
		case 9:					//level 4	
		{
			Isr_Lev4();
			break;
		}	
		case 10:				//irq 5
		{
			Isr_Irq5();
			break;
		}	
		case 11:				//level 5		
		{
			Isr_Lev5();
			break;
		}	
		case 12:				//irq 6	
		{
			Isr_Irq6();
			break;
		}	
		case 13:				//level 6		
		{
			Isr_Lev6();
			break;
		}	
		case 14:				//irq 7		
		{
			Isr_Irq7();
			break;
		}	
		case 15:				//level 7	
		{
			Isr_Lev7();
			break;
		}	
		default:break;																									
	}
	
	OS_EXIT_CRITICAL();		//Following two lines are replacing this fcn call
	OSIntExit ();
}

void Isr_Lev1() 			//PIT interrupt
{
	USIU.PISCR.B.PS=0b1;	// Negate interrupt request (bit PIT Status)
	while(QSMCM.SC1SR.B.TDRE!=0b1);
	QSMCM.SC1DR.R=0x45;
	//QSMCM.SC2DR.R=pitctr;

}

void Isr_Lev0() 
{
}
void Isr_Lev2() 
{
}
void Isr_Lev3() 
{
}
void Isr_Lev4() 			
{
}
void Isr_Lev5() 			
{	
}
void Isr_Lev6() 
{
}
void Isr_Lev7() 
{
}
void Isr_Irq0() 
{
}
void Isr_Irq1() 
{
}
void Isr_Irq2() 
{
}
void Isr_Irq3() 
{
}
void Isr_Irq4() 
{
}
void Isr_Irq5() 
{
}
void Isr_Irq6() 
{
}
void Isr_Irq7() 
{
}

⌨️ 快捷键说明

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