打印
[技术问题解答]

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

[复制链接]
4440|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liao12338392|  楼主 | 2014-8-3 16:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在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)


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

相关帖子

沙发
FSL_TICS_Jeremy| | 2014-8-4 09:51 | 只看该作者
你好,楼主!
我会见你的问题转给i.MX工程师,他稍后会回复你的。

使用特权

评论回复
板凳
jd972594| | 2014-8-12 09:03 | 只看该作者
这问题看似很简单,可惜没有玩过i.MX帮不上你
网上搜不到相关例程吗?

使用特权

评论回复
地板
victoire| | 2014-8-12 15:23 | 只看该作者
按键值定义在内核 include/linux/input.h之中

使用特权

评论回复
5
FSL_TICS_Rita| | 2014-8-15 16:06 | 只看该作者
楼主你好,关于GPIO的配置你可以参考一下帖子:https://bbs.21ic.com/icview-687760-1-1.html

使用特权

评论回复
6
bestray| | 2014-9-3 09:19 | 只看该作者
4楼正解!~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

18

帖子

0

粉丝