天嵌 ARM开发社区

 找回密码
 注册
查看: 4624|回复: 7

怎么样设置GPIO为输入值,并读取其状态?

[复制链接]
liao12338392 发表于 2014-8-3 16:44:48 | 显示全部楼层 |阅读模式
本帖最后由 liao12338392 于 2014-8-3 16:48 编辑

在Ubuntu环境下,文件board-mx6q_sabresd.h文件添加定义如下:
MX6Q_PAD_EIM_D16__GPIO_3_16,
MX6Q_PAD_EIM_D21__GPIO_3_21,

在Ubuntu环境下,文件board-mx6q_sabresd.c文件添加定义如下:
#define SABRESD_GPIO_IN_D16        IMX_GPIO_NR(3,16)
#define SABRESD_GPIO_IN_D21        IMX_GPIO_NR(3,21)

static struct gpio_keys_button sabresd_buttons[] =
{
        GPIO_BUTTON(SABRESD_GPIO_VOL_DOWN,  KEY_LEFT, 1, "left",   0, 1),//KEY_HOME
        GPIO_BUTTON(SABRESD_GPIO_VOL_UP,    KEY_RIGHT,   1, "right",     0, 1),
        GPIO_BUTTON(SABRESD_GPIO_POWER,     KEY_POWER,      1, "power",         1, 1),

        GPIO_BUTTON(SABRESD_GPIO_IN_D16,    KEY_D16, 1, "IN_D16",   0, 1),
        GPIO_BUTTON(SABRESD_GPIO_IN_D21,    KEY_D21, 1, "IN_D21",   0, 1),

};

编译时提示
arch/arm/mach-mx6/board-mx6q_sabresd.c:986:2: error: 'KEY_D16' undeclared here (not in a function)
arch/arm/mach-mx6/board-mx6q_sabresd.c:987:2: error: 'KEY_D21' undeclared here (not in a function)


是不是还有什么文件需要修改?怎么读取其输入值?

wbz073 发表于 2014-8-4 09:11:22 | 显示全部楼层
你的KEY_D16是从哪里定义的,请再次使用与KEY_POWER同处定义的相关键值
 楼主| liao12338392 发表于 2014-8-4 14:33:23 | 显示全部楼层
KEY_POWER这个键值在哪里定义?
 楼主| liao12338392 发表于 2014-8-4 14:33:47 | 显示全部楼层
wbz073 发表于 2014-8-4 09:11
你的KEY_D16是从哪里定义的,请再次使用与KEY_POWER同处定义的相关键值


KEY_POWER这个键值在哪里定义?
wbz073 发表于 2014-8-4 15:20:20 | 显示全部楼层
liao12338392 发表于 2014-8-4 14:33
KEY_POWER这个键值在哪里定义?

include/linux/input.h
 楼主| liao12338392 发表于 2014-8-4 21:24:51 | 显示全部楼层
假设要读取EIM_D16和EIM_D21引脚值,应该怎样设置并读取?试过好像还是有问题,能弄个详细一点的例子和步骤吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-8 19:03 , Processed in 1.046875 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表