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

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

C:/pdl_v10/library/driver/gpio/gpio.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 __GPIO_H__
    00052 #define __GPIO_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
    00082
    00083 /******************************************************************************/
    00084 /* Defines                                                                    */
    00085 /******************************************************************************/
    00086
    00087 #define Gpio1pin_InitIn(p,settings)    do{ stc_gpio1pin_init_t __v__;\
    00088                                          __v__.bPullup=0u;__v__.bInitVal=0u;\
    00089                                          (settings);\
    00090                                          p##_INITIN(__v__); }while(0)
    00091
    00092 #define Gpio1pin_InitOut(p,settings)   do{ stc_gpio1pin_init_t __v__;\
    00093                                          __v__.bPullup=0u;__v__.bInitVal=0u;\
    00094                                          (settings);\
    00095                                          p##_INITOUT(__v__); }while(0)
    00096
    00097 #define Gpio1pin_Init(p,settings)      do{ stc_gpio1pin_init_t __v__;__v__.bOutput=0u;\
    00098                                          __v__.bPullup=0u;__v__.bInitVal=0u;\
    00099                                          (settings);\
    00100                                          p##_INIT( __v__ ); }while(0)
    00101
    00102 #define Gpio1pin_InitDirectionInput    (__v__.bOutput=0u)
    00103 #define Gpio1pin_InitDirectionOutput   (__v__.bOutput=1u)
    00104 #define Gpio1pin_InitPullup(v)         (__v__.bPullup=(v))
    00105 #define Gpio1pin_InitVal(v)            (__v__.bInitVal=(v))
    00106
    00107
    00108
    00109 #define Gpio1pin_Get(p)          p##_GET
    00110 #define Gpio1pin_Put(p,v)        p##_PUT(v)
    00111
    00112 #define PINRELOC_SET_EPFR(epfr,pos,width,value)    \
    00113           ((epfr) = ((epfr) & ~(((1u<<(width))-1u)<<(pos)) | \
    00114           ((value) << (pos))))
    00115
    00116 /******************************************************************************/
    00117 /* Inclusion of GPIO defines of user defined device                           */
    00118 /******************************************************************************/
    00119
    00120 #if (PDL_MCU_SERIES == PDL_DEVICE_SERIES_S6E1A1)
    00121   #if (PDL_PACKAGE == PDL_DEVICE_PACKAGE_B)
    00122     #include "gpio_s6e1a1xb0a.h"
    00123   #elif (PDL_PACKAGE == PDL_DEVICE_PACKAGE_C)
    00124     #include "gpio_s6e1a1xc0a.h"
    00125   #else
    00126     #error Package for S6E1A1 series not found!
    00127   #endif
    00128 #else
    00129   #error Device not found!
    00130 #endif
    00131
    00132
    00133 /******************************************************************************/
    00134 /* Types                                                                      */
    00135 /******************************************************************************/
    00136
    00137 typedef struct stc_gpio1pin_init
    00138 {
    00139     boolean_t bOutput;
    00140     boolean_t bInitVal;
    00141     boolean_t bPullup;
    00142 } stc_gpio1pin_init_t;
    00143
    00144
    00146
    00147 #ifdef __cplusplus
    00148 }
    00149 #endif
    00150
    00151 #endif /* __GPIO_H__ */
    00152
    00153 /******************************************************************************/
    00154 /* EOF (not truncated)                                                        */
    00155 /******************************************************************************/