• imx6用文件io操作gpio


    具体请参考: http://blog.csdn.net/u014213012/article/details/53140781

    这里要注意的是:

    要让linux支持文件io方式操作gpio,首先驱动必须得支持,也就是说设备树上必须先配置好gpio模式,然后参照以上链接去实现gpio操作

    这里举例来说:hud项目中(imx6dl平台),有一个蓝牙电源的使能受GPIO1_IO30的控制,所以我们必须得在设备树上配置这个pad为GPIO模式

    1.配置gpio模式

    现在需要在设备树上配置GPIO1_IO32用于gpio, 在配置之前需要确定该pad为哪个pad, 经原理图可知为ENET_TXD0/GPIO1_IO30, 然后在imx6dl规格书上第四章External Signals and Pin Multiplexing章节查找到ENET_TXD0, 可以看出该pad可以复用成三种功能(ENET_TX_DATA0, ESAI_TX4_RX1, GPIO1_IO30), 这些宏定义在imx6dl-pinfunc.h文件中, 然后在用到的设备树上(imx6dl-hud.dtsi)上查找是否已经有用到其他功能(现在要配置成gpio功能, 若已经配置成ENET_TX_DATA0则要删除它)

    MX6QDL_PAD_ENET_TXD0__GPIO1_IO30    0x80000000  /* bluetooth power enable */

    这样就配置好了gpio模式

    然后使用文件io操作gpio:

    2.计算gpio号:

    nr=(P -1)* 32 + N; gpioP_N;

    这里nr=(1-1)*32 + 30=30

    3.io文件操作gpio

    echo 30 > /sys/class/gpio/export

    echo out > /sys/class/gpio/gpio30/direction

    echo 1 > /sys/class/gpio/gpio30/value    ---> 写高电平

    echo 0 > /sys/class/gpio/gpio30/value    ---> 写低电平

  • 相关阅读:
    dynamic load jar and init spring
    maven-assembly-plugin
    URL to load resources from the classpath in Java
    maven plugins
    URL加载jar
    spring自定义xml标签&自定义注解
    有序表查找---插值查找
    有序表查找---折半查找算法
    基本查找算法---顺序表查找
    图的基础---关键路径理解和实现(Java)
  • 原文地址:https://www.cnblogs.com/fah936861121/p/7029125.html
Copyright © 2020-2023  润新知