📄 dsp281x_swprioritizeddefaultisr.c
字号:
//###########################################################################
//
// FILE: DSP281x_SWPrioritizedDefaultIsr.c
//
// TITLE: DSP281x Device Default Software Prioritized Interrupt Service Routines.
//
//###########################################################################
//
// Original Author: A.T.
//
// Ver | dd mmm yyyy | Who | Description of changes
// =====|=============|======|===============================================
// 1.00| 11 Sep 2003 | L.H. | Changes since previous version (v.1 Alpha)
// | | | Updated revision version number to align with
// | | | other files.
// | | | Corrections made to the following ISR's
// | | | INT13_ISR, INT14_ISR, XINT1_ISR, XINT2_ISR
// | | | DATALOG_ISR
// | | |
// -----|-------------|------|-----------------------------------------------
//###########################################################################
#include "DSP281x_Device.h" // DSP281x Headerfile Include File
#include "DSPMotor_Head.h" // DSP281x My Include File
//---------------------------------------------------------------------------
// XINT13, TINT2, NMI, XINT1, XINT2 Default ISRs:
//---------------------------------------------------------------------------
//
// Connected to INT13 of CPU (use MINT13 mask):
#if (INT13PL != 0)
interrupt void INT13_ISR(void) // XINT13
{
IER &= MINT13; // Set "global" priority
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
}
#endif
// Connected to INT14 of CPU (use MINT14 mask):
#if (INT14PL != 0)
interrupt void INT14_ISR(void) // CPU-Timer2
{
IER &= MINT14; // Set "global" priority
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
}
#endif
// Connected to NMI of CPU (non-maskable):
interrupt void NMI_ISR(void) // Non-maskable interrupt
{
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
}
// Connected to PIEIER1_4 (use MINT1 and MG14 masks):
#if (G14PL != 0)
interrupt void XINT1_ISR(void)
{
// Set interrupt priority:
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER1.all;
IER |= M_INT1; // Set "global" priority
IER &= MINT1; // Set "global" priority
PieCtrlRegs.PIEIER1.all &= MG14; // Set "group" priority
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
// Restore registers saved:
DINT;
PieCtrlRegs.PIEIER1.all = TempPIEIER;
}
#endif
// Connected to PIEIER1_5 (use MINT1 and MG15 masks):
#if (G15PL != 0)
interrupt void XINT2_ISR(void)
{
// Set interrupt priority:
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER1.all;
IER |= M_INT1; // Set "global" priority
IER &= MINT1; // Set "global" priority
PieCtrlRegs.PIEIER1.all &= MG15; // Set "group" priority
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
// Restore registers saved:
DINT;
PieCtrlRegs.PIEIER1.all = TempPIEIER;
}
#endif
//---------------------------------------------------------------------------
// DATALOG, RTOSINT, EMUINT Default ISRs:
//---------------------------------------------------------------------------
//
// Connected to INT15 of CPU (use MINT15 mask):
#if (INT15PL != 0)
interrupt void DATALOG_ISR(void) // Datalogging interrupt
{
IER &= MINT15; // Set "global" priority
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
}
#endif
// Connected to INT16 of CPU (use MINT16 mask):
#if (INT16PL != 0)
interrupt void RTOSINT_ISR(void) // RTOS interrupt
{
IER &= MINT16; // Set "global" priority
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
}
#endif
// Connected to EMUINT of CPU (non-maskable):
interrupt void EMUINT_ISR(void) // Emulation interrupt
{
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
}
//---------------------------------------------------------------------------
// ILLEGAL Instruction Trap ISR:
//
interrupt void ILLEGAL_ISR(void) // Illegal operation TRAP
{
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
}
//---------------------------------------------------------------------------
// USER Traps Default ISRs:
//
interrupt void USER0_ISR(void) // User Defined trap 0
{
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
}
interrupt void USER1_ISR(void) // User Defined trap 1
{
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
}
interrupt void USER2_ISR(void) // User Defined trap 2
{
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
}
interrupt void USER3_ISR(void) // User Defined trap 3
{
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
}
interrupt void USER4_ISR(void) // User Defined trap 4
{
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
}
interrupt void USER5_ISR(void) // User Defined trap 5
{
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
}
interrupt void USER6_ISR(void) // User Defined trap 6
{
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
}
interrupt void USER7_ISR(void) // User Defined trap 7
{
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
}
interrupt void USER8_ISR(void) // User Defined trap 8
{
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
}
interrupt void USER9_ISR(void) // User Defined trap 9
{
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
}
interrupt void USER10_ISR(void) // User Defined trap 10
{
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
}
interrupt void USER11_ISR(void) // User Defined trap 11
{
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
}
//---------------------------------------------------------------------------
// ADC Default ISR:
//
// Connected to PIEIER1_6 (use MINT1 and MG16 masks):
#if (G16PL != 0)
interrupt void ADCINT_ISR(void) // ADC
{
// Set interrupt priority:
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER9.all;
IER |= M_INT1;
IER &= MINT1; // Set "global" priority
PieCtrlRegs.PIEIER9.all &= MG16; // Set "group" priority
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
// Restore registers saved:
DINT;
PieCtrlRegs.PIEIER9.all = TempPIEIER;
}
#endif
//---------------------------------------------------------------------------
// CPU Timer 0 Default ISR:
//
// Connected to PIEIER1_7 (use MINT1 and MG17 masks):
#if (G17PL != 0)
interrupt void TINT0_ISR(void) // CPU-Timer 0
{
// Set interrupt priority:
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER1.all;
IER |= M_INT1;
IER &= MINT1; // Set "global" priority
PieCtrlRegs.PIEIER1.all &= MG17; // Set "group" priority
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
// Restore registers saved:
DINT;
PieCtrlRegs.PIEIER1.all = TempPIEIER;
}
#endif
//---------------------------------------------------------------------------
// Watchdog/Low Power Modes Default ISR:
//
// Connected to PIEIER1_8 (use MINT1 and MG18 masks):
#if (G18PL != 0)
interrupt void WAKEINT_ISR(void) // WD/LPM
{
// Set interrupt priority:
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER1.all;
IER |= M_INT1;
IER &= MINT1; // Set "global" priority
PieCtrlRegs.PIEIER1.all &= MG18; // Set "group" priority
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
// Restore registers saved:
DINT;
PieCtrlRegs.PIEIER1.all = TempPIEIER;
}
#endif
//---------------------------------------------------------------------------
// EV-A Default ISRs:
//
// Connected to PIEIER1_1 (use MINT1 and MG11 masks):
#if (G11PL != 0)
interrupt void PDPINTA_ISR( void ) // EV-A
{
// Set interrupt priority:
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER1.all;
IER |= M_INT1;
IER &= MINT1; // Set "global" priority
PieCtrlRegs.PIEIER1.all &= MG11; // Set "group" priority
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
// Restore registers saved:
DINT;
PieCtrlRegs.PIEIER1.all = TempPIEIER;
}
#endif
// Connected to PIEIER2_1 (use MINT2 and MG21 masks):
#if (G21PL != 0)
interrupt void CMP1INT_ISR(void) // EV-A
{
// Set interrupt priority:
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER2.all;
IER |= M_INT2;
IER &= MINT2; // Set "global" priority
PieCtrlRegs.PIEIER2.all &= MG21; // Set "group" priority
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
// Restore registers saved:
DINT;
PieCtrlRegs.PIEIER2.all = TempPIEIER;
}
#endif
// Connected to PIEIER2_2 (use MINT2 and MG22 masks):
#if (G22PL != 0)
interrupt void CMP2INT_ISR(void) // EV-A
{
// Set interrupt priority:
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER2.all;
IER |= M_INT2;
IER &= MINT2; // Set "global" priority
PieCtrlRegs.PIEIER2.all &= MG22; // Set "group" priority
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
EINT;
// Insert ISR Code here.......
// Next line for debug only (remove after inserting ISR Code):
ESTOP0;
// Restore registers saved:
DINT;
PieCtrlRegs.PIEIER2.all = TempPIEIER;
}
#endif
// Connected to PIEIER2_3 (use MINT2 and MG23 masks):
#if (G23PL != 0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -