dongdong 发表于 2014-7-28 12:36:23

GPIO输入的问题

使用29针作为键盘输入的设置步骤
1. .h文件
static iomux_v3_cfg_t mx6q_sabresd_pads[] = {

      /*IBear Interface GPIO*/
      MX6Q_PAD_KEY_ROW0__GPIO_4_7,//use defined 30 F1 confirm
      MX6Q_PAD_KEY_COL4__GPIO_4_14, /* PCIE_DISF2*/
2..c文件
#ifdef CONFIG_MACH_MX6Q_E9
static struct gpio_keys_button sabresd_buttons[] =
{
      GPIO_BUTTON(SABRESD_GPIO_VOL_DOWN,KEY_VOLUMEDOWN, 1, "volume-down",   0, 1),//KEY_HOME
      GPIO_BUTTON(SABRESD_GPIO_VOL_UP,    KEY_VOLUMEUP,   1, "volume-up",   0, 1),
      GPIO_BUTTON(SABRESD_PCIE_DIS_B,   KEY_F2,         1, "CTRLF2",      0, 1),
3.重新编译,29针和1针短路 键盘监听F2没有任何响应,请劳驾帮忙分析一下,非常的感谢!!!!

wbz073 发表于 2014-7-28 13:29:46

先确认 MX6Q_PAD_KEY_COL4__GPIO_4_14有没有在其他地方定义,如果没有定义你的添加是没问题的,你可以打印F2的键值看是否是60.

dongdong 发表于 2014-7-28 14:03:14

#define SNVS_LPCR 0x38

static const struct imx_pcie_platform_data mx6_sabresd_pcie_data __initconst =
{
      .pcie_pwr_en    = SABRESD_PCIE_PWR_EN,
      .pcie_rst   = SABRESD_PCIE_RST_B_REVB,
      .pcie_wake_up   = SABRESD_PCIE_WAKE_B,
      .pcie_dis   = SABRESD_PCIE_DIS_B,
      .pcie_power_always_on = 1,
};
上面的地方.pcie_dis用到了改建的定义,有影响吗?我直接用键盘按F2就有响应,键值是132,帮忙再看看,谢谢!

沙漠里被雨困 发表于 2014-7-28 15:32:51

学习了{:3_41:}

victoire 发表于 2014-8-11 17:06:12

同问,同学习
页: [1]
查看完整版本: GPIO输入的问题