📄 exceptions.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 + -