void __attribute__((__no_auto_psv__, __interrupt__)) _StackError (void)
{
PDC2 = PDC3 = PDC1 = 0; // turn OFF the output (0V)
clearOUT1(); // turn OFF (high impedance) OUT1
T1CONbits.TON = 0; // turn OFF timer 1 (and PID loop)
while (1)
{
timer_test = 31;
while ( timer_test-- )
{
timer_test2 = 16000;
while(timer_test2--)setErrLed();
}
timer_test = 98;
while ( timer_test-- )
{
timer_test2 = 16000;
while(timer_test2--)clearErrLed();
}
}
}
void __attribute__((__no_auto_psv__, __interrupt__)) _AddressError (void)
{
PDC2 = PDC3 = PDC1 = 0;
clearOUT1(); // turn OFF (high impedance) OUT1
T1CONbits.TON = 0; // turn OFF timer 1 (and PID loop)
while (1)
{
timer_test = 125;
while ( timer_test-- )
{
timer_test2 = 16000;
while(timer_test2--)setErrLed();
}
timer_test = 125;
while ( timer_test-- )
{
timer_test2 = 16000;
while(timer_test2--)clearErrLed();
}
}
}
void __attribute__((__no_auto_psv__, __interrupt__)) _MathError (void)
{
PDC2 = PDC3 = PDC1 = 0;
clearOUT1(); // turn OFF (high impedance) OUT1
T1CONbits.TON = 0; // turn OFF timer 1 (and PID loop)
while (1)
{
timer_test = 63;
while ( timer_test-- )
{
timer_test2 = 16000;
while(timer_test2--)setErrLed();
}
timer_test = 63;
while ( timer_test-- )
{
timer_test2 = 16000;
while(timer_test2--)clearErrLed();
}
}
}