am335x gpio控制

1.执行下面的命令,可以显示目前驱动已经申请到的IO状态 :

$ mount -t debugfs debugfs /sys/kernel/debug
 $ cat /sys/kernel/debug/gpio
 
 [email protected]:/# cat /sys/kernel/debug/gpio
 GPIOs 0-31, gpio:
  gpio-2   (volume-up           ) in  hi
  gpio-3   (volume-down         ) in  hi
  gpio-6   (mmc_cd              ) in  hi
 
 GPIOs 32-63, gpio:
  gpio-48  (wlan_en             ) out lo
  gpio-53  (matrix_kbd_col      ) out hi
  gpio-54  (matrix_kbd_col      ) out hi
  gpio-57  (matrix_kbd_row      ) in  lo
  gpio-58  (matrix_kbd_row      ) in  lo
  gpio-59  (matrix_kbd_row      ) in  lo

GPIOs 64-95, gpio:
 
 GPIOs 96-127, gpio:
  gpio-114 (mmc_wp              ) in  lo
  gpio-117 (bt_en
               ) out lo

2,重新申请一个新IO(118),并且查看有没有申请成功:
 
  [email protected]:/# echo 118 > /sys/class/gpio/export
  [email protected]:/# ls /sys/class/gpio
  export      gpiochip0   gpiochip64  unexport
  gpio118     gpiochip32  gpiochip96

[email protected]:/# cat /sys/kernel/debug/gpio
  GPIOs 0-31, gpio:
   gpio-2   (volume-up           ) in  hi
   gpio-3   (volume-down         ) in  hi
   gpio-6   (mmc_cd              ) in  hi
  
  GPIOs 32-63, gpio:
   gpio-48  (wlan_en             ) out lo
   gpio-53  (matrix_kbd_col      ) out hi
   gpio-54  (matrix_kbd_col      ) out hi
   gpio-57  (matrix_kbd_row      ) in  lo
   gpio-58  (matrix_kbd_row      ) in  lo
   gpio-59  (matrix_kbd_row      ) in  lo
  
  GPIOs 64-95, gpio:
  
  GPIOs 96-127, gpio:
   gpio-114 (mmc_wp              ) in  lo
   gpio-117 (bt_en
                ) out lo
   gpio-118 (sysfs               ) in  lo

  3,改变IO为输出:
  [email protected]:/# echo "out" > /sys/class/gpio/gpio118/direction
  使IO的输出为高:
  [email protected]:/# echo 1 > /sys/class/gpio/gpio118/value
  [email protected]:/# cat /sys/kernel/debug/gpio
  GPIOs 0-31, gpio:
   gpio-2   (volume-up           ) in  hi
   gpio-3   (volume-down         ) in  hi
   gpio-6   (mmc_cd              ) in  hi
  
  GPIOs 32-63, gpio:
   gpio-48  (wlan_en             ) out lo
   gpio-53  (matrix_kbd_col      ) out hi
   gpio-54  (matrix_kbd_col      ) out hi
   gpio-57  (matrix_kbd_row      ) in  lo
   gpio-58  (matrix_kbd_row      ) in  lo
   gpio-59  (matrix_kbd_row      ) in  lo
  
  GPIOs 64-95, gpio:
  
  GPIOs 96-127, gpio:
   gpio-114 (mmc_wp              ) in  lo
   gpio-117 (bt_en
                ) out lo
   gpio-118 (sysfs               ) out hi
  
   4,释放IO:
   [email protected]:/# echo 118 > /sys/class/gpio/unexport

时间: 2024-10-10 20:06:26

am335x gpio控制的相关文章

am335x gpio 控制的另一种方法

#include <linux/gpio.h>  #include <linux/module.h>  #include <linux/kernel.h>  #include <linux/moduleparam.h>  #include <linux/delay.h>  #include <linux/types.h>  #include <linux/cdev.h>  #include <linux/device

am335x gpio

/************************************************************************ * am335x_gpio * 本文主要记录am335x gpio初始化过程. * 主要文件: * 设备初始化: * arch/arm/mach-omap2/board_am335xevm.c * arch/arm/mach-omap2/io.c * arch/arm/mach-omap2/omap_hwmod_33xx_data.c * 驱动初始化

(12)树莓派B+ GPIO控制四驱车

吐槽一下:本人还是个小白,CSDN文章分类不知道选哪个 如果你手上的材料是五线四相步进电机驱动板ULN2003+五线四相步进电机28BYJ-48-5V,那么应该算是非常幸运,因为这两样是配套的,一个驱动板可以接一个步进电机,实现正转.反转.加速.减速的功能(个人猜测).很多人因为在购置树莓派外围设备时,没有考虑清楚,随随便便就买了电机和驱动板,导致无法正常驱动电机,譬如我买的是带4个直流电机的四驱车,其中的电机只有两条线接正极和负极,以及ULN2003五线四相步进电机驱动板,这两样是不配套的,不

python环境下实现OrangePi Zero寄存器访问及GPIO控制

最近入手OrangePi Zero一块,程序上需要使用板子上自带的LED灯,在网上一查,不得不说OPi的支持跟树莓派无法相比.自己摸索了一下,实现简单的GPIO控制方法,作者的Zero安装的是Armbian系统,使用python写了一个读写寄存器的简单模块,通过这个模块,即可实现对GPIO的控制. 作者以前使用过STM32的MCU,这类MCU,如果要实现对GPIO的控制,只需要根据datasheet查找相应GPIO寄存器并进行配置,即可实现IO控制,例如,要将内存地址为0x12345678的寄存

树莓派GPIO控制

陈拓[email protected] 2018.06.09/2018.06.10 0.  概述 本文介绍树莓派 Zero W的GPIO控制,并用LED看效果. 0.1 树莓派GPIO编号方式 功能物理引脚 从左到右,从上到下:左边基数,右边偶数:1-40 BCM 编号侧重CPU寄存器,根据BCM2835的GPIO寄存器编号. wiringPi 编号侧重实现逻辑,把扩展GPIO端口从0开始编号,这种编号方便编程.如图 WiringPi一栏. 操作GPIO时一定先要清楚使用那一套编号. 1.  准

Am335x 下GPIO控制实例-驱动程序(转)

看了这么多的资料,现在决定上手了,下面将用两种方式来实现对GPIO 117的控制1,用直接添加到内核的方式,实现MISC的驱动(misc_register)2,用手工安装的方式,实现简单字符设备驱动(register_chrdev) 实现前提:当前所用的GPIO没有被其它设备所使用,大家可以用我前面BLOG说的方式查看GPIO的使用情况,当前我所用的GPIO本来是bluetooth的开关,需要屏蔽一个函数.不然后面的驱动申请IO都会失败.函数为Board-am335xevm.c 中的wl12xx

gpio控制知识补充

RPi.GPIO模块函数说明: RPi.GPIO.setmode(naming_system) 设置将GPIO针的命名方式.naming_system可用的取值有 RPi.GPIO.BCM 和 RPi.GPIO.BOARD,分别代表boardcom命名系统和树莓派板子上的命名系统.而因为使用BCM 的时候(据说)不同的版本BVM针脚定义不一样,所以同一套程序在多个树莓派系统上使用的时候建议用BOARD. RPi.GPIO.setup(channel, state) 将标号为channel的针设置

BeagleBone black的GPIO控制初探

刚刚读大学的时候就开始接触了 51,后来是stm32, 感觉MCU都是很好玩的 . 做过一些东西,循迹小车之类的,但是我的外围电路总是出问题,所以有很长一段时间没碰这东西了,现在呢到手一块bbbalck  熟悉了一个月  感觉用linux还是很不舒服的(没我pc跑得ubuntu舒服 很多东西看了半天设置不出来  ),于是从ti下载了starterware  结果发现没有bbblack 得从github上clone git clone https://github.com/embest-tech/

android下调试3G之gpio控制3G上电

如果是自己开发的板子,需要用GPIO引脚控制3G模块开机/关机时,下面的文章会对你有所帮助,是以处理器IMX6和中兴MG3732模块为例介绍. 一.引脚连接 处理器的gpio3_GPIO[9]连接3G模块的ON/OFF(29)引脚来控制3G的开机/关机. 二.开关机条件 给ON/OFF引脚连续2500~3500毫秒低电平则开机,给再ON/OFF引脚连续2500~3500毫秒低电平则关机. 三.gpio驱动程序 gpio_3g.c #include<linux/module.h> #includ