| PDL for FM0+ Version1.0 Peripheral Driverl Library for FM0+

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

C:/pdl_v10/library/driver/exint/exint.h
Go to the documentation of this file.

    00001 /*******************************************************************************
    00002 * Copyright (C) 2013 Spansion LLC. All Rights Reserved.
    00003 *
    00004 * This software is owned and published by:
    00005 * Spansion LLC, 915 DeGuigne Dr. Sunnyvale, CA  94088-3453 ("Spansion").
    00006 *
    00007 * BY DOWNLOADING, INSTALLING OR USING THIS SOFTWARE, YOU AGREE TO BE BOUND
    00008 * BY ALL THE TERMS AND CONDITIONS OF THIS AGREEMENT.
    00009 *
    00010 * This software contains source code for use with Spansion
    00011 * components. This software is licensed by Spansion to be adapted only
    00012 * for use in systems utilizing Spansion components. Spansion shall not be
    00013 * responsible for misuse or illegal use of this software for devices not
    00014 * supported herein.  Spansion is providing this software "AS IS" and will
    00015 * not be responsible for issues arising from incorrect user implementation
    00016 * of the software.
    00017 *
    00018 * SPANSION MAKES NO WARRANTY, EXPRESS OR IMPLIED, ARISING BY LAW OR OTHERWISE,
    00019 * REGARDING THE SOFTWARE (INCLUDING ANY ACOOMPANYING WRITTEN MATERIALS),
    00020 * ITS PERFORMANCE OR SUITABILITY FOR YOUR INTENDED USE, INCLUDING,
    00021 * WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, THE IMPLIED
    00022 * WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE OR USE, AND THE IMPLIED
    00023 * WARRANTY OF NONINFRINGEMENT.
    00024 * SPANSION SHALL HAVE NO LIABILITY (WHETHER IN CONTRACT, WARRANTY, TORT,
    00025 * NEGLIGENCE OR OTHERWISE) FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT
    00026 * LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION,
    00027 * LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) ARISING FROM USE OR
    00028 * INABILITY TO USE THE SOFTWARE, INCLUDING, WITHOUT LIMITATION, ANY DIRECT,
    00029 * INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES OR LOSS OF DATA,
    00030 * SAVINGS OR PROFITS,
    00031 * EVEN IF SPANSION HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
    00032 * YOU ASSUME ALL RESPONSIBILITIES FOR SELECTION OF THE SOFTWARE TO ACHIEVE YOUR
    00033 * INTENDED RESULTS, AND FOR THE INSTALLATION OF, USE OF, AND RESULTS OBTAINED
    00034 * FROM, THE SOFTWARE.
    00035 *
    00036 * This software may be replicated in part or whole for the licensed use,
    00037 * with the restriction that this Disclaimer and Copyright notice must be
    00038 * included with each copy of this software, whether used in part or whole,
    00039 * at all times.
    00040 */
    00041 /******************************************************************************/
    00051 #ifndef __EXINT_H__
    00052 #define __EXINT_H__
    00053
    00054 /******************************************************************************/
    00055 /* Include files                                                              */
    00056 /******************************************************************************/
    00057 #include "mcu.h"
    00058 #include "pdl_user.h"
    00059
    00060 /* C binding of definitions if building with C++ compiler */
    00061 #ifdef __cplusplus
    00062 extern "C"
    00063 {
    00064 #endif
    00065
    00090
    00091 #if (defined(PDL_PERIPHERAL_EXINT_ACTIVE))
    00092 /******************************************************************************/
    00093 /* Global pre-processor symbols/macros ('#define')                            */
    00094 /******************************************************************************/
    00095 #define EXINT_CHANNEL_NUM        (8u)
    00096 #define EXINT_MAX_CH_INDEX       (31u)
    00097
    00098 /******************************************************************************/
    00099 /* Local type definitions ('typedef')                                         */
    00100 /******************************************************************************/
    00101
    00102 typedef enum en_exint_level
    00103 {
    00104     ExIntLowLevel     = 0,
    00105     ExIntHighLevel    = 1,
    00106     ExIntRisingEdge   = 2,
    00107     ExIntFallingEdge  = 3
    00108 } en_exint_level_t;
    00109
    00111 typedef enum en_exint_instance_index
    00112 {
    00113     ExintInstanceIndexExint0,
    00114     ExintInstanceIndexExint1,
    00115     ExintInstanceIndexExint2,
    00116     ExintInstanceIndexExint3,
    00117     ExintInstanceIndexExint4,
    00118     ExintInstanceIndexExint5,
    00119     ExintInstanceIndexExint6,
    00120     ExintInstanceIndexExint7,
    00121     ExintInstanceIndexExint8,
    00122     ExintInstanceIndexExint9,
    00123     ExintInstanceIndexExint10,
    00124     ExintInstanceIndexExint11,
    00125     ExintInstanceIndexExint12,
    00126     ExintInstanceIndexExint13,
    00127     ExintInstanceIndexExint14,
    00128     ExintInstanceIndexExint15,
    00129     ExintInstanceIndexExint16,
    00130     ExintInstanceIndexExint17,
    00131     ExintInstanceIndexExint18,
    00132     ExintInstanceIndexExint19,
    00133     ExintInstanceIndexExint20,
    00134     ExintInstanceIndexExint21,
    00135     ExintInstanceIndexExint22,
    00136     ExintInstanceIndexExint23,
    00137     ExintInstanceIndexExint24,
    00138     ExintInstanceIndexExint25,
    00139     ExintInstanceIndexExint26,
    00140     ExintInstanceIndexExint27,
    00141     ExintInstanceIndexExint28,
    00142     ExintInstanceIndexExint29,
    00143     ExintInstanceIndexExint30,
    00144     ExintInstanceIndexExint31,
    00145     ExintInstanceIndexMax
    00146 } en_exint_instance_index_t;
    00147
    00148 /******************************************************************************/
    00149 /* Global function prototypes (definition in C source)                        */
    00150 /******************************************************************************/
    00151 /* external interrupt */
    00152 en_result_t Exint_Enable(uint8_t u8Ch, func_ptr_t pfnIntCb);
    00153 en_result_t Exint_Disable(uint8_t u8Ch);
    00154 en_result_t Exint_SetIntDetectMode(uint8_t u8Ch, en_exint_level_t enLevel);
    00155 en_exint_level_t Exint_GetIntDetectMode(uint8_t u8Ch);
    00156 void Exint_IrqHandler(uint8_t u8Channel);
    00157 #endif // #if (defined(PDL_PERIPHERAL_EXINT_ACTIVE))
    00158
    00159 #if (defined(PDL_PERIPHERAL_NMI_ACTIVE))
    00160 /* NMI */
    00161 en_result_t Exint_Nmi_SetIntCallback(func_ptr_t pfnIntCb);
    00162 void Nmi_IrqHandler(void);
    00163 #endif
    00164
    00166
    00167 #ifdef __cplusplus
    00168 }
    00169 #endif
    00170
    00171
    00172
    00173 #endif /* __EXINT_H__ */
    00174 /******************************************************************************/
    00175 /* EOF (not truncated)                                                        */
    00176 /******************************************************************************/