📄 defaultisr.c
字号:
/*********************************************************************
* File: DefaultIsr.c *
* Description: Contains all interrupt service routines used in the *
* TEC application. *
* DSP: TMS320F2812 *
* Author: David M. Alter *
* Function List: Not applicable *
* History: *
* 11/05/02 - Original, based on DSP28 header files v0.58 (D. Alter)*
* Notes: none *
*********************************************************************/
/*********************************************************************
* THIS PROGRAM IS PROVIDED "AS IS". TI MAKES NO WARRANTIES OR *
* REPRESENTATIONS, EITHER EXPRESS, IMPLIED OR STATUTORY, *
* INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS *
* FOR A PARTICULAR PURPOSE, LACK OF VIRUSES, ACCURACY OR *
* COMPLETENESS OF RESPONSES, RESULTS AND LACK OF NEGLIGENCE. *
* TI DISCLAIMS ANY WARRANTY OF TITLE, QUIET ENJOYMENT, QUIET *
* POSSESSION, AND NON-INFRINGEMENT OF ANY THIRD PARTY *
* INTELLECTUAL PROPERTY RIGHTS WITH REGARD TO THE PROGRAM OR *
* YOUR USE OF THE PROGRAM. *
* *
* IN NO EVENT SHALL TI BE LIABLE FOR ANY SPECIAL, INCIDENTAL, *
* CONSEQUENTIAL OR INDIRECT DAMAGES, HOWEVER CAUSED, ON ANY *
* THEORY OF LIABILITY AND WHETHER OR NOT TI HAS BEEN ADVISED *
* OF THE POSSIBILITY OF SUCH DAMAGES, ARISING IN ANY WAY OUT *
* OF THIS AGREEMENT, THE PROGRAM, OR YOUR USE OF THE PROGRAM. *
* EXCLUDED DAMAGES INCLUDE, BUT ARE NOT LIMITED TO, COST OF *
* REMOVAL OR REINSTALLATION, COMPUTER TIME, LABOR COSTS, LOSS *
* OF GOODWILL, LOSS OF PROFITS, LOSS OF SAVINGS, OR LOSS OF *
* USE OR INTERRUPTION OF BUSINESS. IN NO EVENT WILL TI'S *
* AGGREGATE LIABILITY UNDER THIS AGREEMENT OR ARISING OUT OF *
* YOUR USE OF THE PROGRAM EXCEED FIVE HUNDRED DOLLARS *
* (U.S.$500). *
* *
* Unless otherwise stated, the Program written and copyrighted *
* by Texas Instruments is distributed as "freeware". You may, *
* only under TI's copyright in the Program, use and modify the *
* Program without any charge or restriction. You may *
* distribute to third parties, provided that you transfer a *
* copy of this license to the third party and the third party *
* agrees to these terms by its first use of the Program. You *
* must reproduce the copyright notice and any other legend of *
* ownership on each copy or partial copy, of the Program. *
* *
* You acknowledge and agree that the Program contains *
* copyrighted material, trade secrets and other TI proprietary *
* information and is protected by copyright laws, *
* international copyright treaties, and trade secret laws, as *
* well as other intellectual property laws. To protect TI's *
* rights in the Program, you agree not to decompile, reverse *
* engineer, disassemble or otherwise translate any object code *
* versions of the Program to a human-readable form. You agree *
* that in no event will you alter, remove or destroy any *
* copyright notice included in the Program. TI reserves all *
* rights not specifically granted under this license. Except *
* as specifically provided herein, nothing in this agreement *
* shall be construed as conferring by implication, estoppel, *
* or otherwise, upon you, any license or other right under any *
* TI patents, copyrights or trade secrets. *
* *
* You may not use the Program in non-TI devices. *
*********************************************************************/
#include "Device.h"
/*********************************************************************/
interrupt void INT13_ISR(void) // 0x000D1A INT13 - XINT13 (or CPU Timer1, reserved for TI)
{
// Work around Compiler v3.03 bug
asm(" SPM 0"); // Compiler not properly setting SPM 0 in ISRs
asm(" CLRC AMODE"); // Compiler not properly setting AMODE=1 in ISRs
// End workaround
// Next two lines for debug only - remove after inserting your ISR
asm (" ESTOP0"); // Emulator Halt instruction
while(1);
}
/*********************************************************************/
interrupt void INT14_ISR(void) // 0x000D1C INT14 - CPU Timer2, reserved for TI
{
// Work around Compiler v3.03 bug
asm(" SPM 0"); // Compiler not properly setting SPM 0 in ISRs
asm(" CLRC AMODE"); // Compiler not properly setting AMODE=1 in ISRs
// End workaround
// Next two lines for debug only - remove after inserting your ISR
asm (" ESTOP0"); // Emulator Halt instruction
while(1);
}
/*********************************************************************/
interrupt void DATALOG_ISR(void) // 0x000D1E DATALOG - CPU data logging interrupt
{
// Work around Compiler v3.03 bug
asm(" SPM 0"); // Compiler not properly setting SPM 0 in ISRs
asm(" CLRC AMODE"); // Compiler not properly setting AMODE=1 in ISRs
// End workaround
// Next two lines for debug only - remove after inserting your ISR
asm (" ESTOP0"); // Emulator Halt instruction
while(1);
}
/*********************************************************************/
interrupt void RTOSINT_ISR(void) // 0x000D20 RTOSINT - CPU RTOS interrupt
{
// Work around Compiler v3.03 bug
asm(" SPM 0"); // Compiler not properly setting SPM 0 in ISRs
asm(" CLRC AMODE"); // Compiler not properly setting AMODE=1 in ISRs
// End workaround
// Next two lines for debug only - remove after inserting your ISR
asm (" ESTOP0"); // Emulator Halt instruction
while(1);
}
/*********************************************************************/
interrupt void EMUINT_ISR(void) // 0x000D22 EMUINT - CPU emulation interrupt
{
// Work around Compiler v3.03 bug
asm(" SPM 0"); // Compiler not properly setting SPM 0 in ISRs
asm(" CLRC AMODE"); // Compiler not properly setting AMODE=1 in ISRs
// End workaround
// Next two lines for debug only - remove after inserting your ISR
asm (" ESTOP0"); // Emulator Halt instruction
while(1);
}
/*********************************************************************/
interrupt void NMI_ISR(void) // 0x000D24 NMI - XNMI interrupt
{
// Work around Compiler v3.03 bug
asm(" SPM 0"); // Compiler not properly setting SPM 0 in ISRs
asm(" CLRC AMODE"); // Compiler not properly setting AMODE=1 in ISRs
// End workaround
// Next two lines for debug only - remove after inserting your ISR
asm (" ESTOP0"); // Emulator Halt instruction
while(1);
}
/*********************************************************************/
interrupt void ILLEGAL_ISR(void) // 0x000D26 ILLEGAL - illegal operation trap
{
// Work around Compiler v3.03 bug
asm(" SPM 0"); // Compiler not properly setting SPM 0 in ISRs
asm(" CLRC AMODE"); // Compiler not properly setting AMODE=1 in ISRs
// End workaround
// Next two lines for debug only - remove after inserting your ISR
asm (" ESTOP0"); // Emulator Halt instruction
while(1);
}
/*********************************************************************/
interrupt void USER0_ISR(void) // 0x000D28 USER0 - software interrupt #0
{
// Work around Compiler v3.03 bug
asm(" SPM 0"); // Compiler not properly setting SPM 0 in ISRs
asm(" CLRC AMODE"); // Compiler not properly setting AMODE=1 in ISRs
// End workaround
// Next two lines for debug only - remove after inserting your ISR
asm (" ESTOP0"); // Emulator Halt instruction
while(1);
}
/*********************************************************************/
interrupt void USER1_ISR(void) // 0x000D2A USER1 - software interrupt #1
{
// Work around Compiler v3.03 bug
asm(" SPM 0"); // Compiler not properly setting SPM 0 in ISRs
asm(" CLRC AMODE"); // Compiler not properly setting AMODE=1 in ISRs
// End workaround
// Next two lines for debug only - remove after inserting your ISR
asm (" ESTOP0"); // Emulator Halt instruction
while(1);
}
/*********************************************************************/
interrupt void USER2_ISR(void) // 0x000D2C USER2 - software interrupt #3
{
// Work around Compiler v3.03 bug
asm(" SPM 0"); // Compiler not properly setting SPM 0 in ISRs
asm(" CLRC AMODE"); // Compiler not properly setting AMODE=1 in ISRs
// End workaround
// Next two lines for debug only - remove after inserting your ISR
asm (" ESTOP0"); // Emulator Halt instruction
while(1);
}
/*********************************************************************/
interrupt void USER3_ISR(void) // 0x000D2E USER3 - software interrupt #3
{
// Work around Compiler v3.03 bug
asm(" SPM 0"); // Compiler not properly setting SPM 0 in ISRs
asm(" CLRC AMODE"); // Compiler not properly setting AMODE=1 in ISRs
// End workaround
// Next two lines for debug only - remove after inserting your ISR
asm (" ESTOP0"); // Emulator Halt instruction
while(1);
}
/*********************************************************************/
interrupt void USER4_ISR(void) // 0x000D30 USER4 - software interrupt #4
{
// Work around Compiler v3.03 bug
asm(" SPM 0"); // Compiler not properly setting SPM 0 in ISRs
asm(" CLRC AMODE"); // Compiler not properly setting AMODE=1 in ISRs
// End workaround
// Next two lines for debug only - remove after inserting your ISR
asm (" ESTOP0"); // Emulator Halt instruction
while(1);
}
/*********************************************************************/
interrupt void USER5_ISR(void) // 0x000D32 USER5 - software interrupt #5
{
// Work around Compiler v3.03 bug
asm(" SPM 0"); // Compiler not properly setting SPM 0 in ISRs
asm(" CLRC AMODE"); // Compiler not properly setting AMODE=1 in ISRs
// End workaround
// Next two lines for debug only - remove after inserting your ISR
asm (" ESTOP0"); // Emulator Halt instruction
while(1);
}
/*********************************************************************/
interrupt void USER6_ISR(void) // 0x000D34 USER6 - software interrupt #6
{
// Work around Compiler v3.03 bug
asm(" SPM 0"); // Compiler not properly setting SPM 0 in ISRs
asm(" CLRC AMODE"); // Compiler not properly setting AMODE=1 in ISRs
// End workaround
// Next two lines for debug only - remove after inserting your ISR
asm (" ESTOP0"); // Emulator Halt instruction
while(1);
}
/*********************************************************************/
interrupt void USER7_ISR(void) // 0x000D36 USER7 - software interrupt #7
{
// Work around Compiler v3.03 bug
asm(" SPM 0"); // Compiler not properly setting SPM 0 in ISRs
asm(" CLRC AMODE"); // Compiler not properly setting AMODE=1 in ISRs
// End workaround
// Next two lines for debug only - remove after inserting your ISR
asm (" ESTOP0"); // Emulator Halt instruction
while(1);
}
/*********************************************************************/
interrupt void USER8_ISR(void) // 0x000D38 USER8 - software interrupt #8
{
// Work around Compiler v3.03 bug
asm(" SPM 0"); // Compiler not properly setting SPM 0 in ISRs
asm(" CLRC AMODE"); // Compiler not properly setting AMODE=1 in ISRs
// End workaround
// Next two lines for debug only - remove after inserting your ISR
asm (" ESTOP0"); // Emulator Halt instruction
while(1);
}
/*********************************************************************/
interrupt void USER9_ISR(void) // 0x000D3A USER9 - software interrupt #9
{
// Work around Compiler v3.03 bug
asm(" SPM 0"); // Compiler not properly setting SPM 0 in ISRs
asm(" CLRC AMODE"); // Compiler not properly setting AMODE=1 in ISRs
// End workaround
// Next two lines for debug only - remove after inserting your ISR
asm (" ESTOP0"); // Emulator Halt instruction
while(1);
}
/*********************************************************************/
interrupt void USER10_ISR(void) // 0x000D3C USER10 - software interrupt #10
{
// Work around Compiler v3.03 bug
asm(" SPM 0"); // Compiler not properly setting SPM 0 in ISRs
asm(" CLRC AMODE"); // Compiler not properly setting AMODE=1 in ISRs
// End workaround
// Next two lines for debug only - remove after inserting your ISR
asm (" ESTOP0"); // Emulator Halt instruction
while(1);
}
/*********************************************************************/
interrupt void USER11_ISR(void) // 0x000D3E USER11 - software interrupt #11
{
// Work around Compiler v3.03 bug
asm(" SPM 0"); // Compiler not properly setting SPM 0 in ISRs
asm(" CLRC AMODE"); // Compiler not properly setting AMODE=1 in ISRs
// End workaround
// Next two lines for debug only - remove after inserting your ISR
asm (" ESTOP0"); // Emulator Halt instruction
while(1);
}
/*********************************************************************/
interrupt void PDPINTA_ISR(void) // 0x000D40 PDPINTA (EV-A)
{
// Work around Compiler v3.03 bug
asm(" SPM 0"); // Compiler not properly setting SPM 0 in ISRs
asm(" CLRC AMODE"); // Compiler not properly setting AMODE=1 in ISRs
// End workaround
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; // Must acknowledge the PIE group
// Next two lines for debug only - remove after inserting your ISR
asm (" ESTOP0"); // Emulator Halt instruction
while(1);
}
/*********************************************************************/
interrupt void PDPINTB_ISR(void) // 0x000D42 PDPINTB (EV-B)
{
// Work around Compiler v3.03 bug
asm(" SPM 0"); // Compiler not properly setting SPM 0 in ISRs
asm(" CLRC AMODE"); // Compiler not properly setting AMODE=1 in ISRs
// End workaround
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; // Must acknowledge the PIE group
// Next two lines for debug only - remove after inserting your ISR
asm (" ESTOP0"); // Emulator Halt instruction
while(1);
}
/*********************************************************************/
interrupt void XINT1_ISR(void) // 0x000D46 XINT1
{
// Work around Compiler v3.03 bug
asm(" SPM 0"); // Compiler not properly setting SPM 0 in ISRs
asm(" CLRC AMODE"); // Compiler not properly setting AMODE=1 in ISRs
// End workaround
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -