⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nested_ints.h

📁 Freescale HCS12 系列嵌套中断源码
💻 H
📖 第 1 页 / 共 5 页
字号:
/******************************************************************************
*                                                   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 + -