📄 gpio.h
字号:
/*******************************************************************************
* Copyright: Copyright (c) 2007. Hisilicon Technologies, CO., LTD.
* Version: V300R001B01
* Filename: usp_base_gpio.h
* Description: Defines the GPIO values for user.
* History:
1.Created by SunShaojie on 2007/08/31
*******************************************************************************/
#ifndef __GPIO_H
#define __GPIO_H
//#define TEST_GPIO
//------------------------------------------------------------------------------
// single GPIO define
//------------------------------------------------------------------------------
#define GPIO_0_0 0x0
#define GPIO_0_1 0x1
#define GPIO_0_2 0x2
#define GPIO_0_3 0x3
#define GPIO_0_4 0x4
#define GPIO_0_5 0x5
#define GPIO_0_6 0x6
#define GPIO_0_7 0x7
#define GPIO_1_0 0x10
#define GPIO_1_1 0x11
#define GPIO_1_2 0x12
#define GPIO_1_3 0x13
#define GPIO_1_4 0x14
#define GPIO_1_5 0x15
#define GPIO_1_6 0x16
#define GPIO_1_7 0x17
#define GPIO_2_0 0x20
#define GPIO_2_1 0x21
#define GPIO_2_2 0x22
#define GPIO_2_3 0x23
#define GPIO_2_4 0x24
#define GPIO_2_5 0x25
#define GPIO_2_6 0x26
#define GPIO_2_7 0x27
#define GPIO_3_0 0x30
#define GPIO_3_1 0x31
#define GPIO_3_2 0x32
#define GPIO_3_3 0x33
#define GPIO_3_4 0x34
#define GPIO_3_5 0x35
#define GPIO_3_6 0x36
#define GPIO_3_7 0x37
#define GPIO_4_0 0x40
#define GPIO_4_1 0x41
#define GPIO_4_2 0x42
#define GPIO_4_3 0x43
#define GPIO_4_4 0x44
#define GPIO_4_5 0x45
#define GPIO_4_6 0x46
#define GPIO_4_7 0x47
#define GPIO_5_0 0x50
#define GPIO_5_1 0x51
#define GPIO_5_2 0x52
#define GPIO_5_3 0x53
#define GPIO_5_4 0x54
#define GPIO_5_5 0x55
#define GPIO_5_6 0x56
#define GPIO_5_7 0x57
#define GPIO_6_0 0x60
#define GPIO_6_1 0x61
#define GPIO_6_2 0x62
#define GPIO_6_3 0x63
#define GPIO_6_4 0x64
#define GPIO_6_5 0x65
#define GPIO_6_6 0x66
#define GPIO_6_7 0x67
#define GPIO_7_0 0x70
#define GPIO_7_1 0x71
#define GPIO_7_2 0x72
#define GPIO_7_3 0x73
#define GPIO_7_4 0x74
#define GPIO_7_5 0x75
#define GPIO_7_6 0x76
#define GPIO_7_7 0x77
#define GPIO_8_0 0x80
#define GPIO_8_1 0x81
#define GPIO_8_2 0x82
#define GPIO_8_3 0x83
#define GPIO_8_4 0x84
#define GPIO_8_5 0x85
#define GPIO_8_6 0x86
#define GPIO_8_7 0x87
#define GPIO_9_0 0x90
#define GPIO_9_1 0x91
#define GPIO_9_2 0x92
#define GPIO_9_3 0x93
#define GPIO_9_4 0x94
#define GPIO_9_5 0x95
#define GPIO_9_6 0x96
#define GPIO_9_7 0x97
#define GPIO_10_0 0xA0
#define GPIO_10_1 0xA1
#define GPIO_10_2 0xA2
#define GPIO_10_3 0xA3
#define GPIO_10_4 0xA4
#define GPIO_10_5 0xA5
#define GPIO_10_6 0xA6
#define GPIO_10_7 0xA7
#define GPIO_11_0 0xB0
#define GPIO_11_1 0xB1
#define GPIO_11_2 0xB2
#define GPIO_11_3 0xB3
#define GPIO_11_4 0xB4
#define GPIO_11_5 0xB5
#define GPIO_11_6 0xB6
#define GPIO_11_7 0xB7
#define GPIO_12_0 0xC0
#define GPIO_12_1 0xC1
#define GPIO_12_2 0xC2
#define GPIO_12_3 0xC3
#define GPIO_12_4 0xC4
#define GPIO_12_5 0xC5
#define GPIO_12_6 0xC6
#define GPIO_12_7 0xC7
#define GPIO_13_0 0xD0
#define GPIO_13_1 0xD1
#define GPIO_13_2 0xD2
#define GPIO_13_3 0xD3
#define GPIO_13_4 0xD4
#define GPIO_13_5 0xD5
#define GPIO_13_6 0xD6
#define GPIO_13_7 0xD7
#define GPIO_1 GPIO_0_0
#define GPIO_2 GPIO_0_1
#define GPIO_3 GPIO_0_2
#define GPIO_4 GPIO_0_3
#define GPIO_5 GPIO_0_4
#define GPIO_6 GPIO_0_5
#define GPIO_7 GPIO_0_6
#define GPIO_8 GPIO_0_7
#define GPIO_9 GPIO_1_0
#define GPIO_10 GPIO_1_1
#define GPIO_11 GPIO_1_2
#define GPIO_12 GPIO_1_3
#define GPIO_13 GPIO_1_4
#define GPIO_14 GPIO_1_5
#define GPIO_15 GPIO_1_6
#define GPIO_16 GPIO_1_7
#define GPIO_17 GPIO_2_0
#define GPIO_18 GPIO_2_1
#define GPIO_19 GPIO_2_2
#define GPIO_20 GPIO_2_3
#define GPIO_21 GPIO_2_4
#define GPIO_22 GPIO_2_5
#define GPIO_23 GPIO_2_6
#define GPIO_24 GPIO_2_7
#define GPIO_25 GPIO_3_0
#define GPIO_26 GPIO_3_1
#define GPIO_27 GPIO_3_2
#define GPIO_28 GPIO_3_3
#define GPIO_29 GPIO_3_4
#define GPIO_30 GPIO_3_5
#define GPIO_31 GPIO_3_6
#define GPIO_32 GPIO_3_7
#define GPIO_33 GPIO_4_0
#define GPIO_34 GPIO_4_1
#define GPIO_35 GPIO_4_2
#define GPIO_36 GPIO_4_3
#define GPIO_37 GPIO_4_4
#define GPIO_38 GPIO_4_5
#define GPIO_39 GPIO_4_6
#define GPIO_40 GPIO_4_7
#define GPIO_41 GPIO_5_0
#define GPIO_42 GPIO_5_1
#define GPIO_43 GPIO_5_2
#define GPIO_44 GPIO_5_3
#define GPIO_45 GPIO_5_4
#define GPIO_46 GPIO_5_5
#define GPIO_47 GPIO_5_6
#define GPIO_48 GPIO_5_7
#define GPIO_49 GPIO_6_0
#define GPIO_50 GPIO_6_1
#define GPIO_51 GPIO_6_2
#define GPIO_52 GPIO_6_3
#define GPIO_53 GPIO_6_4
#define GPIO_54 GPIO_6_5
#define GPIO_55 GPIO_6_6
#define GPIO_56 GPIO_6_7
#define GPIO_57 GPIO_7_0
#define GPIO_58 GPIO_7_1
#define GPIO_59 GPIO_7_2
#define GPIO_60 GPIO_7_3
#define GPIO_61 GPIO_7_4
#define GPIO_62 GPIO_7_5
#define GPIO_63 GPIO_7_6
#define GPIO_64 GPIO_7_7
#define GPIO_65 GPIO_8_0
#define GPIO_66 GPIO_8_1
#define GPIO_67 GPIO_8_2
#define GPIO_68 GPIO_8_3
#define GPIO_69 GPIO_8_4
#define GPIO_70 GPIO_8_5
#define GPIO_71 GPIO_8_6
#define GPIO_72 GPIO_8_7
#define GPIO_73 GPIO_9_0
#define GPIO_74 GPIO_9_1
#define GPIO_75 GPIO_9_2
#define GPIO_76 GPIO_9_3
#define GPIO_77 GPIO_9_4
#define GPIO_78 GPIO_9_5
#define GPIO_79 GPIO_9_6
#define GPIO_80 GPIO_9_7
#define GPIO_81 GPIO_10_0
#define GPIO_82 GPIO_10_1
#define GPIO_83 GPIO_10_2
#define GPIO_84 GPIO_10_3
#define GPIO_85 GPIO_10_4
#define GPIO_86 GPIO_10_5
#define GPIO_87 GPIO_10_6
#define GPIO_88 GPIO_10_7
#define GPIO_89 GPIO_11_0
#define GPIO_90 GPIO_11_1
#define GPIO_91 GPIO_11_2
#define GPIO_92 GPIO_11_3
#define GPIO_93 GPIO_11_4
#define GPIO_94 GPIO_11_5
#define GPIO_95 GPIO_11_6
#define GPIO_96 GPIO_11_7
#define GPIO_97 GPIO_12_0
#define GPIO_98 GPIO_12_1
#define GPIO_99 GPIO_12_2
#define GPIO_100 GPIO_12_3
#define GPIO_101 GPIO_12_4
#define GPIO_102 GPIO_12_5
#define GPIO_103 GPIO_12_6
#define GPIO_104 GPIO_12_7
#define GPIO_105 GPIO_13_0
#define GPIO_106 GPIO_13_1
#define GPIO_107 GPIO_13_2
#define GPIO_108 GPIO_13_3
#define GPIO_109 GPIO_13_4
#define GPIO_110 GPIO_13_5
#define GPIO_111 GPIO_13_6
#define GPIO_112 GPIO_13_7
//define the max number of one GPIO group
#define GPIO_MAXIMUM 0x8
#define GPIO_ID_MASK 0x0f
// GPIO direction
typedef enum {
EGPIO_DIR_INPUT = 0,
EGPIO_DIR_OUTPUT = 1,
EGPIO_DIR_NUM
}EGPIO_DIR;
// GPIO data
typedef enum {
EGPIO_DATA_LOW = 0,
EGPIO_DATA_HIGH = 1,
EGPIO_DATA_NUM
}EGPIO_DATA;
// GPIO mode select
typedef enum {
EGPIO_MODE_SOFT = 0,
EGPIO_MODE_HARD = 1,
EGPIO_MODE_NUM
}EGPIO_MODE;
// GPIO interrupt sense select
typedef enum {
EGPIO_INT_EDGE = 0,
EGPIO_INT_LEVEL = 1,
EGPIO_INT_SENSE_NUM
}EGPIO_INT_SENSE;
// GPIO mode select
typedef enum {
EGPIO_INT_SINGLE = 0,
EGPIO_INT_DOUBLE = 1,
EGPIO_INT_SELEDGE_NUM
}EGPIO_INT_SELEDGE;
// GPIO mode select
typedef enum {
EGPIO_INT_DOWN_LOW = 0,
EGPIO_INT_UP_HIGH = 1,
EGPIO_INT_EVENT_NUM
}EGPIO_INT_EVENT;
// GPIO interrupt data struct
typedef struct {
UINT8 gpioID;
EGPIO_INT_SENSE sense; // interrupt sense: 0-edge, 1-level
EGPIO_INT_SELEDGE edge; // interrupt sense: 0-single edge, 1-double edge
EGPIO_INT_EVENT event; // interrupt event: 0-down edge(low level), 1-up edge(high level)
}USP_GPIO_INT_MODE, *PUSP_GPIO_INT_MODE;
#ifdef __cplusplus
extern "C" {
#endif
//-----------------------------------------------------------------------------
//
// Function: GetGpioBaseAdrr
//
// This function get GPIO group address.
//
UINT32 GetGpioBaseAdrr (UINT8 ucId);
//-----------------------------------------------------------------------------
//
// Function: GpioGetDirection
//
// This function get the direction of GPIO ID.
//
EGPIO_DIR GpioGetDirection(UINT8 gpioID);
//-----------------------------------------------------------------------------
//
// Function: GpioSetDirection
//
// This function set the direction of GPIO ID.
//
BOOL GpioSetDirection(UINT8 gpioID, EGPIO_DIR dir);
//-----------------------------------------------------------------------------
//
// Function: GpioSetValue
//
// This function set the value of GPIO ID.
//
BOOL GpioSetValue(UINT8 gpioID, EGPIO_DATA data);
//-----------------------------------------------------------------------------
//
// Function: GpioGetValue
//
// This function get the value of GPIO ID.
//
EGPIO_DATA GpioGetValue(UINT8 gpioID);
//-----------------------------------------------------------------------------
//
// Function: GpioInitialize
//
// This function set the value of GPIO ID. And set the direction of GPIO ID
//
BOOL GpioInitialize(UINT8 gpioID, EGPIO_DIR dir, EGPIO_DATA data);
//-----------------------------------------------------------------------------
//
// Function: GpioSetIntrMode
//
// This function set the interrupt triggered mode of GPIO ID.
//
BOOL GpioSetIntrMode(const USP_GPIO_INT_MODE *intrMode);
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -