天嵌 ARM开发社区

 找回密码
 注册
查看: 6499|回复: 9

E9 GPIO调用

[复制链接]
dongdong 发表于 2014-5-22 17:15:53 | 显示全部楼层 |阅读模式
现在是关于GPIO调用的问题,比如扩展接口第9针定义为输入监听命令:输入: 检测下降沿范围,第10针定位为输出命令: 常态高电平,这样的输入输出怎么实现,非常的感谢!!!
TQ-ZQL 发表于 2014-5-22 17:20:35 | 显示全部楼层
输出可以参考
http://www.armbbs.net/forum.php? ... &extra=page%3D1
输入可能要自己重写代码。
 楼主| dongdong 发表于 2014-5-22 17:28:46 | 显示全部楼层
输入可能要自己重写代码,有没有简单的Sample,可以参考一下,非常感谢!!!
 楼主| dongdong 发表于 2014-5-22 22:54:56 | 显示全部楼层
根据你们的提醒目前还是有问题,生成了接口,sys文件也有,写1、0控制的时候电压都没有变化(均是3.3v),我测量的是E9 17脚EIM_D18 ,一直都是3.3V,不管是1或者0,请麻烦您们帮忙分析是否还有其它的问题,目前配置没有重复。
 楼主| dongdong 发表于 2014-5-23 18:05:37 | 显示全部楼层
我把步骤如下:1.vi /androidold/opt/Embedsky/TQIMX6/E9/TQIMX6_android-4.2.2/kernel_imx/arch/arm/mach-mx6/board-mx6q_sabresd.h
      设置头文件:        MX6Q_PAD_EIM_D18__GPIO_3_18,
                                  MX6Q_PAD_SD1_DAT1__PWM3_PWMO,
2.添加代码测试:vi /androidold/opt/Embedsky/TQIMX6/E9/TQIMX6_android-4.2.2/kernel_imx/arch/arm/mach-mx6/board-mx6q_sabresd.c
#define SABRESD_GPIO_CTRL       IMX_GPIO_NR(1, 17)
    printk("This  Test Start.........");
         int lastTest=0;
         lastTest= gpio_request(SABRESD_GPIO_CTRL,"gpio_3_18");
         if (lastTest)
          {
             printk("||gpio request .........last ERROR ERROR:"+lastTest);
            return;
          }
         gpio_direction_output(SABRESD_GPIO_CTRL,0);
//         gpio_set_value(SABRESD_GPIO_CTRL,0);     
         printk("gpio out put .........111111");
         msleep(60000);
         printk("gpio out put .........222222");
         gpio_direction_output(SABRESD_GPIO_CTRL,1);
         gpio_set_value(SABRESD_GPIO_CTRL,1);

         printk("gpio out put .........333333");
         msleep(60000);


天嵌_support1 发表于 2014-5-23 18:10:37 | 显示全部楼层
dongdong 发表于 2014-5-23 18:05
我把步骤如下:1.vi /androidold/opt/Embedsky/TQIMX6/E9/TQIMX6_android-4.2.2/kernel_imx/arch/arm/mach- ...

board-mx6q_sabresd.h中配置GPIO功能,应该类似MX6Q_PAD_SD1_DAT1__1_17,具体看源码。你这样配置有问题
luosue 发表于 2014-5-24 09:30:19 | 显示全部楼层
GPIO调用,感谢楼主分享,这个必须顶
 楼主| dongdong 发表于 2014-5-24 17:33:21 | 显示全部楼层
非常感谢,目前输出应该没有什么问题,有没有50个每个扩展接口的对应清单(比如: MX6Q_PAD_SD1_DAT1__GPIO_1_17, IMX_GPIO_NR(1, 17),对应的是49针),另外如果我想通过GPIO来实现输入,有没有好的思路,比如我用50针的下降沿代表某个命令的输入,或者是相当代表某个特殊键值的输入,如何设置,非常的感谢!!!!
ryanz 发表于 2014-5-29 11:41:44 | 显示全部楼层
我研究了两天,觉得引脚定义更改以后每次编译内核太麻烦了.
准备用mmap来直接操作寄存器,可以动态地控制输入输出.
pineworld 发表于 2014-7-31 14:52:35 | 显示全部楼层
dongdong 发表于 2014-5-23 18:05
我把步骤如下:1.vi /androidold/opt/Embedsky/TQIMX6/E9/TQIMX6_android-4.2.2/kernel_imx/arch/arm/mach- ...

楼主你好,我这里使用这个变量会报错,请问是否是我没添加头文件?

  error: 'SABRESD_CAP_TCH_INT0' undeclared (first use in this function)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-5-20 09:08 , Processed in 1.062500 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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