1 /******************************************************************************* 2 * Copyright (C) 2018, Huada Semiconductor Co.,Ltd All rights reserved. 3 * 4 * This software is owned and published by: 5 * Huada Semiconductor Co.,Ltd ("HDSC"). 6 * 7 * BY DOWNLOADING, INSTALLING OR USING THIS SOFTWARE, YOU AGREE TO BE BOUND 8 * BY ALL THE TERMS AND CONDITIONS OF THIS AGREEMENT. 9 * 10 * This software contains source code for use with HDSC 11 * components. This software is licensed by HDSC to be adapted only 12 * for use in systems utilizing HDSC components. HDSC shall not be 13 * responsible for misuse or illegal use of this software for devices not 14 * supported herein. HDSC is providing this software "AS IS" and will 15 * not be responsible for issues arising from incorrect user implementation 16 * of the software. 17 * 18 * Disclaimer: 19 * HDSC MAKES NO WARRANTY, EXPRESS OR IMPLIED, ARISING BY LAW OR OTHERWISE, 20 * REGARDING THE SOFTWARE (INCLUDING ANY ACOOMPANYING WRITTEN MATERIALS), 21 * ITS PERFORMANCE OR SUITABILITY FOR YOUR INTENDED USE, INCLUDING, 22 * WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, THE IMPLIED 23 * WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE OR USE, AND THE IMPLIED 24 * WARRANTY OF NONINFRINGEMENT. 25 * HDSC SHALL HAVE NO LIABILITY (WHETHER IN CONTRACT, WARRANTY, TORT, 26 * NEGLIGENCE OR OTHERWISE) FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT 27 * LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, 28 * LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) ARISING FROM USE OR 29 * INABILITY TO USE THE SOFTWARE, INCLUDING, WITHOUT LIMITATION, ANY DIRECT, 30 * INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES OR LOSS OF DATA, 31 * SAVINGS OR PROFITS, 32 * EVEN IF Disclaimer HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 33 * YOU ASSUME ALL RESPONSIBILITIES FOR SELECTION OF THE SOFTWARE TO ACHIEVE YOUR 34 * INTENDED RESULTS, AND FOR THE INSTALLATION OF, USE OF, AND RESULTS OBTAINED 35 * FROM, THE SOFTWARE. 36 * 37 * This software may be replicated in part or whole for the licensed use, 38 * with the restriction that this Disclaimer and Copyright notice must be 39 * included with each copy of this software, whether used in part or whole, 40 * at all times. 41 */ 42 /******************************************************************************/ 43 /** \file interrupts_hc32l17x.h 44 ** 45 ** Interrupt common define. 46 ** @link IRQGroup Some description @endlink 47 ** 48 ** - 2019-03-01 1.0 Lux First version. 49 ** 50 ******************************************************************************/ 51 #ifndef __INTERRUPTS_HC32L17x_H__ 52 #define __INTERRUPTS_HC32L17x_H__ 53 54 /******************************************************************************/ 55 /* Include files */ 56 /******************************************************************************/ 57 #include "hc32l196_ddl.h" 58 59 /* C binding of definitions if building with C++ compiler */ 60 #ifdef __cplusplus 61 extern "C" 62 { 63 #endif 64 65 /******************************************************************************/ 66 /* Global pre-processor symbols/macros ('#define') */ 67 /******************************************************************************/ 68 #define DDL_IRQ_LEVEL_DEFAULT 3u 69 70 //<<此选项会打开interrupt_hc32xxx.c中的中断回调函数,用户如果需要实现中断服务函数, 71 //<<可在源码文件中定义该文件中用"__WEAK"声明的同名中断服务函数即可。 72 #define INT_CALLBACK_ON 1u //<<(默认值) 73 //<<此选项会关闭interrupt_hc32xxx.c中的中断回调函数,此时用户可在该文件中自行定义中断服务函数的实现。 74 #define INT_CALLBACK_OFF 0u 75 /****************************************************************************** 76 * Global type definitions 77 ******************************************************************************/ 78 #define INT_CALLBACK_PORTA INT_CALLBACK_ON 79 #define INT_CALLBACK_PORTB INT_CALLBACK_ON 80 #define INT_CALLBACK_PORTC INT_CALLBACK_ON 81 #define INT_CALLBACK_PORTD INT_CALLBACK_ON 82 #define INT_CALLBACK_PORTE INT_CALLBACK_ON 83 #define INT_CALLBACK_PORTF INT_CALLBACK_ON 84 #define INT_CALLBACK_DMAC INT_CALLBACK_ON 85 #define INT_CALLBACK_TIM3 INT_CALLBACK_ON 86 #define INT_CALLBACK_UART0 INT_CALLBACK_ON 87 #define INT_CALLBACK_UART1 INT_CALLBACK_ON 88 #define INT_CALLBACK_UART2 INT_CALLBACK_ON 89 #define INT_CALLBACK_UART3 INT_CALLBACK_ON 90 #define INT_CALLBACK_LPUART0 INT_CALLBACK_ON 91 #define INT_CALLBACK_LPUART1 INT_CALLBACK_ON 92 #define INT_CALLBACK_SPI0 INT_CALLBACK_ON 93 #define INT_CALLBACK_SPI1 INT_CALLBACK_ON 94 #define INT_CALLBACK_I2C0 INT_CALLBACK_ON 95 #define INT_CALLBACK_I2C1 INT_CALLBACK_ON 96 #define INT_CALLBACK_TIM0 INT_CALLBACK_ON 97 #define INT_CALLBACK_TIM1 INT_CALLBACK_ON 98 #define INT_CALLBACK_TIM2 INT_CALLBACK_ON 99 #define INT_CALLBACK_LPTIM0 INT_CALLBACK_ON 100 #define INT_CALLBACK_LPTIM1 INT_CALLBACK_ON 101 #define INT_CALLBACK_TIM4 INT_CALLBACK_ON 102 #define INT_CALLBACK_TIM5 INT_CALLBACK_ON 103 #define INT_CALLBACK_TIM6 INT_CALLBACK_ON 104 #define INT_CALLBACK_PCA INT_CALLBACK_ON 105 #define INT_CALLBACK_WDT INT_CALLBACK_ON 106 #define INT_CALLBACK_RTC INT_CALLBACK_ON 107 #define INT_CALLBACK_ADC INT_CALLBACK_ON 108 #define INT_CALLBACK_DAC INT_CALLBACK_ON 109 #define INT_CALLBACK_PCNT INT_CALLBACK_ON 110 #define INT_CALLBACK_VC0 INT_CALLBACK_ON 111 #define INT_CALLBACK_VC1 INT_CALLBACK_ON 112 #define INT_CALLBACK_VC2 INT_CALLBACK_ON 113 #define INT_CALLBACK_LVD INT_CALLBACK_ON 114 #define INT_CALLBACK_LCD INT_CALLBACK_ON 115 #define INT_CALLBACK_FLASH INT_CALLBACK_ON 116 #define INT_CALLBACK_RAM INT_CALLBACK_ON 117 #define INT_CALLBACK_CLKTRIM INT_CALLBACK_ON 118 119 120 /** 121 ******************************************************************************* 122 ** \brief 中断优先级数据类型定义 123 ** \note 124 ******************************************************************************/ 125 typedef enum en_irq_level 126 { 127 IrqLevel0 = 0u, ///< 优先级0 128 IrqLevel1 = 1u, ///< 优先级1 129 IrqLevel2 = 2u, ///< 优先级2 130 IrqLevel3 = 3u, ///< 优先级3 131 } en_irq_level_t; 132 133 134 /****************************************************************************** 135 * Global function prototypes (definition in C source) 136 ******************************************************************************/ 137 ///< 系统中断使能开关 138 extern void EnableNvic(IRQn_Type enIrq, en_irq_level_t enLevel, boolean_t bEn); 139 140 141 #ifdef __cplusplus 142 } 143 #endif 144 145 146 #endif /* __INTERRUPTS_HC32L19x_H__ */ 147 148 /****************************************************************************** 149 * EOF (not truncated) 150 ******************************************************************************/ 151