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

📄 gio270.h

📁 dm270 source code
💻 H
字号:
/*
    DM270 ARM Evaluation Software

    (c)Texas Instruments 2003
*/

/** \defgroup GIO General Purpose I/O (GIO) */
/*@{*/

/** \file  gio270.h
    \brief General Purpose I/O (GIO) related APIs

    Also refer to DM270 register manual for details
*/


#ifndef __GIO_270_H__
#define __GIO_270_H__

#include <system/armsys270.h>

#define GIO_OUTPUT  0
#define GIO_INPUT   1

#define GIO_INT_EDGE_RISE_SIDE  0
#define GIO_INT_EDGE_FALL_SIDE  1
#define GIO_INT_EDGE_BOTH_SIDE  2

#define GIO25_MODE_NORMAL       0
#define GIO25_MODE_MIRQ         1
#define GIO25_MODE_MRST         2

/**
    \brief GIO ID
*/
typedef enum {
    GIO0        ,   ///<    GIO - 0
    GIO1        ,   ///<    GIO - 1
    GIO2        ,   ///<    GIO - 2
    GIO3        ,   ///<    GIO - 3
    GIO4        ,   ///<    GIO - 4
    GIO5        ,   ///<    GIO - 5
    GIO6        ,   ///<    GIO - 6
    GIO7        ,   ///<    GIO - 7
    GIO8        ,   ///<    GIO - 8
    GIO9        ,   ///<    GIO - 9
    GIO10       ,   ///<    GIO - 10
    GIO11       ,   ///<    GIO - 11
    GIO12       ,   ///<    GIO - 12
    GIO13       ,   ///<    GIO - 13
    GIO14       ,   ///<    GIO - 14
    GIO15       ,   ///<    GIO - 15
    GIO16       ,   ///<    GIO - 16
    GIO17       ,   ///<    GIO - 17
    GIO18       ,   ///<    GIO - 18
    GIO19       ,   ///<    GIO - 19
    GIO20       ,   ///<    GIO - 20
    GIO21       ,   ///<    GIO - 21
    GIO22       ,   ///<    GIO - 22
    GIO23       ,   ///<    GIO - 23
    GIO24       ,   ///<    GIO - 24
    GIO25       ,   ///<    GIO - 25
    GIO26       ,   ///<    GIO - 26
    GIO27       ,   ///<    GIO - 27
    GIO28       ,   ///<    GIO - 28
    GIO29       ,   ///<    GIO - 29
    GIO30       ,   ///<    GIO - 30
    GIO31       ,   ///<    GIO - 31
    GIO32       ,   ///<    GIO - 32
    GIO33       ,   ///<    GIO - 33
    GIO_MAX
} GIO_ID;

/**
    \brief GIO Configuration parameters
*/
typedef struct {
    Uint8 dir;              ///< GIO direction, 0:GIO_OUTPUT, 1:GIO_INPUT
    BOOL  invert;           ///< TRUE: invert GIO input, FALSE: do NOT invert GIO input. Only valid when dir = GIO_INPUT
    BOOL  altUse;           ///< TRUE: Use alternate function of GIO, FALSE: Use pin as normal GIO
    BOOL  chatterInvalid;   ///< Used only when dir = GIO_INPUT, \n TRUE:Data is imported only when certain level of interval longer than interval set in register NCHAT is applied \n FALSE: Data is imported in normal way \n Use GIO_setChatterWidth() to set NCHAT register
} GIO_ConfigData;

STATUS GIO_setConfig( GIO_ID gioID, GIO_ConfigData *gioConfig );

STATUS GIO_setAsInt( GIO_ID gioID, BOOL gioAsInt, Uint8 intEdge);
STATUS GIO_setGio25Mode( Uint8 gio25Mode );

STATUS GIO_setBit( GIO_ID gioID );
STATUS GIO_clearBit( GIO_ID gioID );
Uint8  GIO_getBit( GIO_ID gioID );

STATUS GIO_setChatterWidth( Uint8 width);

BOOL GIO_isNormalMode( GIO_ID gioID );

#endif /*   __GIO_270_H__   */

/*@}*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -