echo 1 > /sys/class/gpio/gpio118/value

来源:互联网 发布:mac 上mysql忘记密码 编辑:程序博客网 时间:2024/06/06 01:19

 参考:http://processors.wiki.ti.com/index.php/GPIO_Driver_Guide

 目前还没有涉及到代码(后续会有新的博客更新),仅关注到用户空间对GPIO的控制。

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

 $ mount -t debugfs debugfs /sys/kernel/debug
 $ cat /sys/kernel/debug/gpio
 
 root@am335x-evm:/# 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,但注意看一下原理图,最好是没有使用的IO,如果本身的IO在其它地方使用的话,有可能申请不到或是破坏设备。
  下面我们申请118,并且查看有没有申请成功
  root@am335x-evm:/# echo 118 > /sys/class/gpio/export
  root@am335x-evm:/# ls /sys/class/gpio
  export      gpiochip0   gpiochip64  unexport
  gpio118     gpiochip32  gpiochip96

  root@am335x-evm:/# 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为输出:
  root@am335x-evm:/# echo "out" > /sys/class/gpio/gpio118/direction
  使IO的输出为高:
  root@am335x-evm:/# 
  root@am335x-evm:/# 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,
   root@am335x-evm:/# echo 118 > /sys/class/gpio/unexport

 

总结:这种模式我觉得在调试某些简单IO控制的一些设备的时候很方便,比如硬件用到一个IO开关某一设备,那么就几条命令就可以控制好了。如果用做学习,大家可以手工来点灯。
0 0
原创粉丝点击