📄 nested_ints.h
字号:
/******************************************************************************
* COPYRIGHT (c) MOTOROLA 2003
* FILE NAME: nested_ints.h
*
* PURPOSE: Nested interrupts library C file
*
*******************************************************************************
*******************************************************************************
** THIS CODE IS ONLY INTENDED AS AN EXAMPLE FOR THE METROWERKS COMPILER AND **
** THE HCS122 EVB AND HAS ONLY BEEN GIVEN A MIMIMUM LEVEL OF TEST. **
** IT IS PROVIDED 'AS SEEN' WITH NO GUARANTEES AND NO PROMISE OF SUPPORT. **
*******************************************************************************
*******************************************************************************
*
* DOCUMENTATION SOURCE: EKB Applications
*
* TARGET DEVICE: MC9S12DP256
*
* COMPILER: Metrowerks VERSION: HC12_V2.0
*
* DESCRIPTION: Library file for nested interrupts on HCS12
*
* AUTHOR: Daniel Malik LOCATION: EKB
*
* UPDATE HISTORY
* REV AUTHOR DATE DESCRIPTION OF CHANGE
* --- ------ --------- ---------------------
* 1.0 D.Malik 29/09/03 file generation
*
******************************************************************************/
/*===========================================================================*/
/* Motorola reserves the right to make changes without further notice to any */
/* product herein to improve reliability, function, or design. Motorola does */
/* not assume any liability arising out of the application or use of any */
/* product, circuit, or software described herein; neither does it convey */
/* any license under its patent rights nor the rights of others. Motorola */
/* products are not designed, intended, or authorized for use as components */
/* in systems intended for surgical implant into the body, or other */
/* applications intended to support life, or for any other application in */
/* which the failure of the Motorola product could create a situation where */
/* personal injury or death may occur. Should Buyer purchase or use Motorola */
/* products for any such intended or unauthorized application, Buyer shall */
/* indemnify and hold Motorola and its officers, employees, subsidiaries, */
/* affiliates, and distributors harmless against all claims costs, damages, */
/* and expenses, and reasonable attorney fees arising out of, directly or */
/* indirectly, any claim of personal injury or death associated with such */
/* unintended or unauthorized use, even if such claim alleges that Motorola */
/* was negligent regarding the design or manufacture of the part. Motorola */
/* and the Motorola logo* are registered trademarks of Motorola Ltd. */
/*****************************************************************************/
/* This file was generated on 01/10/2003, 13:53:22 */
/* */
/* Number of possible interrupt service routines: 64 */
/* Number of possible interrupt nesting levels: 7 */
/* */
/* Interrupt definitions have form: INTnum_level ENABLE,DISABLE */
/* Where num & level are numbers and ENABLE & DISABLE */
/* are names of macros or functions */
/* Interrupts need to be defined prior to processing of this file */
/*****************************************************************************/
#define NESTED_INTERRUPT_EN(int_enable,int_disable) {##int_enable();}
#define NESTED_INTERRUPT_DIS(int_enable,int_disable) {##int_disable();}
#define NESTED_INTERRUPT_EN_DUMMY(data) NESTED_INTERRUPT_EN(data)
#define NESTED_INTERRUPT_DIS_DUMMY(data) NESTED_INTERRUPT_DIS(data)
extern char current_interrupt_level;
extern void int_level_restore(char level);
#undef NINT_LEVEL1
#undef NINT_LEVEL2
#undef NINT_LEVEL3
#undef NINT_LEVEL4
#undef NINT_LEVEL5
#undef NINT_LEVEL6
#undef NINT_LEVEL7
#if defined(INT0_1)
#define INT0_1EN NESTED_INTERRUPT_EN_DUMMY(INT0_1)
#define INT0_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT0_1)
#define NINT_LEVEL1
#define NINT0 1
#else /* INT0_1 */
#define INT0_1EN
#define INT0_1DIS
#endif /* INT0_1 */
#if defined(INT1_1)
#define INT1_1EN NESTED_INTERRUPT_EN_DUMMY(INT1_1)
#define INT1_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT1_1)
#define NINT_LEVEL1
#define NINT1 1
#else /* INT1_1 */
#define INT1_1EN
#define INT1_1DIS
#endif /* INT1_1 */
#if defined(INT2_1)
#define INT2_1EN NESTED_INTERRUPT_EN_DUMMY(INT2_1)
#define INT2_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT2_1)
#define NINT_LEVEL1
#define NINT2 1
#else /* INT2_1 */
#define INT2_1EN
#define INT2_1DIS
#endif /* INT2_1 */
#if defined(INT3_1)
#define INT3_1EN NESTED_INTERRUPT_EN_DUMMY(INT3_1)
#define INT3_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT3_1)
#define NINT_LEVEL1
#define NINT3 1
#else /* INT3_1 */
#define INT3_1EN
#define INT3_1DIS
#endif /* INT3_1 */
#if defined(INT4_1)
#define INT4_1EN NESTED_INTERRUPT_EN_DUMMY(INT4_1)
#define INT4_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT4_1)
#define NINT_LEVEL1
#define NINT4 1
#else /* INT4_1 */
#define INT4_1EN
#define INT4_1DIS
#endif /* INT4_1 */
#if defined(INT5_1)
#define INT5_1EN NESTED_INTERRUPT_EN_DUMMY(INT5_1)
#define INT5_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT5_1)
#define NINT_LEVEL1
#define NINT5 1
#else /* INT5_1 */
#define INT5_1EN
#define INT5_1DIS
#endif /* INT5_1 */
#if defined(INT6_1)
#define INT6_1EN NESTED_INTERRUPT_EN_DUMMY(INT6_1)
#define INT6_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT6_1)
#define NINT_LEVEL1
#define NINT6 1
#else /* INT6_1 */
#define INT6_1EN
#define INT6_1DIS
#endif /* INT6_1 */
#if defined(INT7_1)
#define INT7_1EN NESTED_INTERRUPT_EN_DUMMY(INT7_1)
#define INT7_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT7_1)
#define NINT_LEVEL1
#define NINT7 1
#else /* INT7_1 */
#define INT7_1EN
#define INT7_1DIS
#endif /* INT7_1 */
#if defined(INT8_1)
#define INT8_1EN NESTED_INTERRUPT_EN_DUMMY(INT8_1)
#define INT8_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT8_1)
#define NINT_LEVEL1
#define NINT8 1
#else /* INT8_1 */
#define INT8_1EN
#define INT8_1DIS
#endif /* INT8_1 */
#if defined(INT9_1)
#define INT9_1EN NESTED_INTERRUPT_EN_DUMMY(INT9_1)
#define INT9_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT9_1)
#define NINT_LEVEL1
#define NINT9 1
#else /* INT9_1 */
#define INT9_1EN
#define INT9_1DIS
#endif /* INT9_1 */
#if defined(INT10_1)
#define INT10_1EN NESTED_INTERRUPT_EN_DUMMY(INT10_1)
#define INT10_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT10_1)
#define NINT_LEVEL1
#define NINT10 1
#else /* INT10_1 */
#define INT10_1EN
#define INT10_1DIS
#endif /* INT10_1 */
#if defined(INT11_1)
#define INT11_1EN NESTED_INTERRUPT_EN_DUMMY(INT11_1)
#define INT11_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT11_1)
#define NINT_LEVEL1
#define NINT11 1
#else /* INT11_1 */
#define INT11_1EN
#define INT11_1DIS
#endif /* INT11_1 */
#if defined(INT12_1)
#define INT12_1EN NESTED_INTERRUPT_EN_DUMMY(INT12_1)
#define INT12_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT12_1)
#define NINT_LEVEL1
#define NINT12 1
#else /* INT12_1 */
#define INT12_1EN
#define INT12_1DIS
#endif /* INT12_1 */
#if defined(INT13_1)
#define INT13_1EN NESTED_INTERRUPT_EN_DUMMY(INT13_1)
#define INT13_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT13_1)
#define NINT_LEVEL1
#define NINT13 1
#else /* INT13_1 */
#define INT13_1EN
#define INT13_1DIS
#endif /* INT13_1 */
#if defined(INT14_1)
#define INT14_1EN NESTED_INTERRUPT_EN_DUMMY(INT14_1)
#define INT14_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT14_1)
#define NINT_LEVEL1
#define NINT14 1
#else /* INT14_1 */
#define INT14_1EN
#define INT14_1DIS
#endif /* INT14_1 */
#if defined(INT15_1)
#define INT15_1EN NESTED_INTERRUPT_EN_DUMMY(INT15_1)
#define INT15_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT15_1)
#define NINT_LEVEL1
#define NINT15 1
#else /* INT15_1 */
#define INT15_1EN
#define INT15_1DIS
#endif /* INT15_1 */
#if defined(INT16_1)
#define INT16_1EN NESTED_INTERRUPT_EN_DUMMY(INT16_1)
#define INT16_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT16_1)
#define NINT_LEVEL1
#define NINT16 1
#else /* INT16_1 */
#define INT16_1EN
#define INT16_1DIS
#endif /* INT16_1 */
#if defined(INT17_1)
#define INT17_1EN NESTED_INTERRUPT_EN_DUMMY(INT17_1)
#define INT17_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT17_1)
#define NINT_LEVEL1
#define NINT17 1
#else /* INT17_1 */
#define INT17_1EN
#define INT17_1DIS
#endif /* INT17_1 */
#if defined(INT18_1)
#define INT18_1EN NESTED_INTERRUPT_EN_DUMMY(INT18_1)
#define INT18_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT18_1)
#define NINT_LEVEL1
#define NINT18 1
#else /* INT18_1 */
#define INT18_1EN
#define INT18_1DIS
#endif /* INT18_1 */
#if defined(INT19_1)
#define INT19_1EN NESTED_INTERRUPT_EN_DUMMY(INT19_1)
#define INT19_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT19_1)
#define NINT_LEVEL1
#define NINT19 1
#else /* INT19_1 */
#define INT19_1EN
#define INT19_1DIS
#endif /* INT19_1 */
#if defined(INT20_1)
#define INT20_1EN NESTED_INTERRUPT_EN_DUMMY(INT20_1)
#define INT20_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT20_1)
#define NINT_LEVEL1
#define NINT20 1
#else /* INT20_1 */
#define INT20_1EN
#define INT20_1DIS
#endif /* INT20_1 */
#if defined(INT21_1)
#define INT21_1EN NESTED_INTERRUPT_EN_DUMMY(INT21_1)
#define INT21_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT21_1)
#define NINT_LEVEL1
#define NINT21 1
#else /* INT21_1 */
#define INT21_1EN
#define INT21_1DIS
#endif /* INT21_1 */
#if defined(INT22_1)
#define INT22_1EN NESTED_INTERRUPT_EN_DUMMY(INT22_1)
#define INT22_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT22_1)
#define NINT_LEVEL1
#define NINT22 1
#else /* INT22_1 */
#define INT22_1EN
#define INT22_1DIS
#endif /* INT22_1 */
#if defined(INT23_1)
#define INT23_1EN NESTED_INTERRUPT_EN_DUMMY(INT23_1)
#define INT23_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT23_1)
#define NINT_LEVEL1
#define NINT23 1
#else /* INT23_1 */
#define INT23_1EN
#define INT23_1DIS
#endif /* INT23_1 */
#if defined(INT24_1)
#define INT24_1EN NESTED_INTERRUPT_EN_DUMMY(INT24_1)
#define INT24_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT24_1)
#define NINT_LEVEL1
#define NINT24 1
#else /* INT24_1 */
#define INT24_1EN
#define INT24_1DIS
#endif /* INT24_1 */
#if defined(INT25_1)
#define INT25_1EN NESTED_INTERRUPT_EN_DUMMY(INT25_1)
#define INT25_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT25_1)
#define NINT_LEVEL1
#define NINT25 1
#else /* INT25_1 */
#define INT25_1EN
#define INT25_1DIS
#endif /* INT25_1 */
#if defined(INT26_1)
#define INT26_1EN NESTED_INTERRUPT_EN_DUMMY(INT26_1)
#define INT26_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT26_1)
#define NINT_LEVEL1
#define NINT26 1
#else /* INT26_1 */
#define INT26_1EN
#define INT26_1DIS
#endif /* INT26_1 */
#if defined(INT27_1)
#define INT27_1EN NESTED_INTERRUPT_EN_DUMMY(INT27_1)
#define INT27_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT27_1)
#define NINT_LEVEL1
#define NINT27 1
#else /* INT27_1 */
#define INT27_1EN
#define INT27_1DIS
#endif /* INT27_1 */
#if defined(INT28_1)
#define INT28_1EN NESTED_INTERRUPT_EN_DUMMY(INT28_1)
#define INT28_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT28_1)
#define NINT_LEVEL1
#define NINT28 1
#else /* INT28_1 */
#define INT28_1EN
#define INT28_1DIS
#endif /* INT28_1 */
#if defined(INT29_1)
#define INT29_1EN NESTED_INTERRUPT_EN_DUMMY(INT29_1)
#define INT29_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT29_1)
#define NINT_LEVEL1
#define NINT29 1
#else /* INT29_1 */
#define INT29_1EN
#define INT29_1DIS
#endif /* INT29_1 */
#if defined(INT30_1)
#define INT30_1EN NESTED_INTERRUPT_EN_DUMMY(INT30_1)
#define INT30_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT30_1)
#define NINT_LEVEL1
#define NINT30 1
#else /* INT30_1 */
#define INT30_1EN
#define INT30_1DIS
#endif /* INT30_1 */
#if defined(INT31_1)
#define INT31_1EN NESTED_INTERRUPT_EN_DUMMY(INT31_1)
#define INT31_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT31_1)
#define NINT_LEVEL1
#define NINT31 1
#else /* INT31_1 */
#define INT31_1EN
#define INT31_1DIS
#endif /* INT31_1 */
#if defined(INT32_1)
#define INT32_1EN NESTED_INTERRUPT_EN_DUMMY(INT32_1)
#define INT32_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT32_1)
#define NINT_LEVEL1
#define NINT32 1
#else /* INT32_1 */
#define INT32_1EN
#define INT32_1DIS
#endif /* INT32_1 */
#if defined(INT33_1)
#define INT33_1EN NESTED_INTERRUPT_EN_DUMMY(INT33_1)
#define INT33_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT33_1)
#define NINT_LEVEL1
#define NINT33 1
#else /* INT33_1 */
#define INT33_1EN
#define INT33_1DIS
#endif /* INT33_1 */
#if defined(INT34_1)
#define INT34_1EN NESTED_INTERRUPT_EN_DUMMY(INT34_1)
#define INT34_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT34_1)
#define NINT_LEVEL1
#define NINT34 1
#else /* INT34_1 */
#define INT34_1EN
#define INT34_1DIS
#endif /* INT34_1 */
#if defined(INT35_1)
#define INT35_1EN NESTED_INTERRUPT_EN_DUMMY(INT35_1)
#define INT35_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT35_1)
#define NINT_LEVEL1
#define NINT35 1
#else /* INT35_1 */
#define INT35_1EN
#define INT35_1DIS
#endif /* INT35_1 */
#if defined(INT36_1)
#define INT36_1EN NESTED_INTERRUPT_EN_DUMMY(INT36_1)
#define INT36_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT36_1)
#define NINT_LEVEL1
#define NINT36 1
#else /* INT36_1 */
#define INT36_1EN
#define INT36_1DIS
#endif /* INT36_1 */
#if defined(INT37_1)
#define INT37_1EN NESTED_INTERRUPT_EN_DUMMY(INT37_1)
#define INT37_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT37_1)
#define NINT_LEVEL1
#define NINT37 1
#else /* INT37_1 */
#define INT37_1EN
#define INT37_1DIS
#endif /* INT37_1 */
#if defined(INT38_1)
#define INT38_1EN NESTED_INTERRUPT_EN_DUMMY(INT38_1)
#define INT38_1DIS NESTED_INTERRUPT_DIS_DUMMY(INT38_1)
#define NINT_LEVEL1
#define NINT38 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -