基于6575平台:
GPIO驱动程序提供了两个接口:
(1)内核空间:所提供的GPIO驱动程序,驱动程序可以调用其他函数
(2)用户空间:用户空间的程序可以通过发送IOCTL /dev/ mtgpio的操作GPIO
- GPIO_PIN
枚举所有的GPIO引脚。它将被用于在每个gpio驱动
typedef enum GPIO_PIN
{
GPIO_UNSUPPORTED = -1,
GPIO0 , GPIO1 , GPIO2 , GPIO3 , GPIO4 , GPIO5 , GPIO6 , GPIO7 ,
GPIO8 , GPIO9 , GPIO10 , GPIO11 , GPIO12 , GPIO13 , GPIO14 , GPIO15 ,
GPIO16 , GPIO17 , GPIO18 , GPIO19 , GPIO20 , GPIO21 , GPIO22 , GPIO23 ,
GPIO24 , GPIO25 , GPIO26 , GPIO27 , GPIO28 , GPIO29 , GPIO30 , GPIO31 ,
GPIO32 , GPIO33 , GPIO34 , GPIO35 , GPIO36 , GPIO37 , GPIO38 , GPIO39 ,
GPIO40 , GPIO41 , GPIO42 , GPIO43 , GPIO44 , GPIO45 , GPIO46 , GPIO47 ,
GPIO48 , GPIO49 , GPIO50 , GPIO51 , GPIO52 , GPIO53 , GPIO54 , GPIO55 ,
GPIO56 , GPIO57 , GPIO58 , GPIO59 , GPIO60 , GPIO61 , GPIO62 , GPIO63 ,
GPIO64 , GPIO65 , GPIO66 , GPIO67 , GPIO68 , GPIO69 , GPIO70 , GPIO71 ,
GPIO72 , GPIO73 , GPIO74 , GPIO75 , GPIO76 , GPIO77 , GPIO78 , GPIO79 ,
GPIO80 , GPIO81 , GPIO82 , GPIO83 , GPIO84 , GPIO85 , GPIO86 , GPIO87 ,
GPIO88 , GPIO89 , GPIO90 , GPIO91 , GPIO92 , GPIO93 , GPIO94 , GPIO95 ,
GPIO96 , GPIO97 , GPIO98 , GPIO99 , GPIO100, .............
GPIO_MAX
}GPIO_PIN;
2.GPIO_MODE
每个GPIO引脚支持四种模式,0为GPIO模式。
/* GPIO MODE CONTROL VALUE*/
typedef enum {
GPIO_MODE_UNSUPPORTED = -1,
GPIO_MODE_GPIO = 0,
GPIO_MODE_00 = 0,
GPIO_MODE_01 = 1,
GPIO_MODE_02 = 2,
GPIO_MODE_03 = 3,
GPIO_MODE_04 = 4,
GPIO_MODE_05 = 5,
GPIO_MODE_06 = 6,
GPIO_MODE_07 = 7,
GPIO_MODE_MAX,
GPIO_MODE_DEFAULT = GPIO_MODE_01,
} GPIO_MODE;
3.GPIO_DIR
在GPIO模式下,每一个GPIO引脚可配置为输入或输出。
/* GPIO DIRECTION */
typedef enum {
GPIO_DIR_UNSUPPORTED = -1,
GPIO_DIR_IN = 0,
GPIO_DIR_OUT = 1,
GPIO_DIR_MAX,
GPIO_DIR_DEFAULT = GPIO_DIR_IN,
} GPIO_DIR;
4.GPIO_PULLEN
每个GPIO引脚都可以被配置为上拉使能或拉禁用(pull enable or pull disable)。这取决于设备连接的GPIO引脚。 Q1:pul