Linux应用层直接操作GPIO

Linux应用层直接操作GPIO

在一个老手的指导下,应用层可以直接操作GPIO,具体指设置GPIO的输入输出以及输出电平高或者低。这个大大地提高了灵活性,官方的文档有GPIO Sysfs Interface for UserspaceGPIO Sysfs

这里我记录一下使用过例子:

# RK30_PIN0_PD4
# A0-7 -> 0-7 / B0-7 -> 8-15 / C0-7 -> 16-23 / D0-7 -> 24-31
echo 28 > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio28/direction
echo 1 > /sys/class/gpio/gpio28/value
  • 1
  • 2
  • 3
  • 4
  • 5

以上代码作用是:将RK30_PIN0_PD4设置为输出,将输出电平设置为高电平。

OTG的PIN脚为RK30_PIN3_PD5

能有老手指点真好,以前想像过有没有办法直接在用户层控制GPIO的输入/输出并设置输出电平,不过最终没有了结果。

这个问题的背景是出在了对主板上的USB HOST口供电控制,在移植最新的内核版本到该主板上时,USB口没有供电输出,进行手动使能供电解决了问题所在。这个是手动控制,以后要添加到DTS文件中。

时间: 2024-10-27 02:22:29

Linux应用层直接操作GPIO的相关文章

Linux内核驱动之GPIO子系统(一)GPIO的使用【转】

  转自:http://blog.csdn.net/tommy_wxie/article/details/9427047 一 概述   Linux内核中gpio是最简单,最常用的资源(和 interrupt ,dma,timer一样)驱动程序,应用程序都能够通过相应的接口使用gpio,gpio使用0-MAX_INT之间的整数标识,不能使用负数,gpio与硬件体系密切相关的,不过linux有一个框架处理gpio,能够使用统一的接口来操作gpio.在讲gpio核心(gpiolib.c)之前先来看看g

linux终端vim操作系统模拟问题

问题描述 linux终端vim操作系统模拟问题 #include<stdio.h> #include<stdlib.h> #include<time.h> #include<string.h> int main( void ) { struct process{ char pname[3]; char *next; int act; int runt; char sta; }; int a[5]; int i,j=0,m,n,u=1,o; int curre

fortran语言-请教这个fortran脚本怎么用?据说是把txt文件转化成cst文件 linux下怎么操作 谢谢

问题描述 请教这个fortran脚本怎么用?据说是把txt文件转化成cst文件 linux下怎么操作 谢谢 下面是.f文件具体内容 parameter(npointp=900000) real x(900000),y(900000) integer num(900000),linenum(900000),npl(900000),lnum,nplt, * lasti,i,j open(10, file='coastline.txt') open(11, file='coastline.cst')

Linux C语言操作MySQL

原文:Linux C语言操作MySQL 1.MySQL数据库简介 MySQL是一个开源码的小型关系数据库管理系统,体积小,速度快,总体成本低,开源.MySQL有以下特性: (1) 使用C和C++编写,并使用了多种编译器进行测试,保证源码的可移植性. (2) 支持多线程,利用CPU资源,支持多用户. (3) 可以处理拥有上千万条记录的大型数据库. (4)既可以作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为 一个库而嵌入到其他软件中去.   2. MySQL数据库的安装 安装MySQ

linux下poi操作excel的问题

问题描述 linux下poi操作excel的问题 System.out.println("excek保存路径"+path); Workbook workbook=null; Sheet sheet=null; try { System.out.println("开始写excel"); workbook = new SXSSFWorkbook(500); sheet = workbook.createSheet(); workbook.setSheetName(0,

linux C 数组操作

/****************************************************************** * linux C 数组操作 * 声明: * 本文为解决陈颖奇遇到的C数组操作上的问题,主要是验证. * * 2016-2-2 深圳 南山平山村 曾剑锋 *****************************************************************/ #include <stdio.h> #define ARRAY_LENG

浅析Linux中的时间编程和实现原理(一) Linux应用层的时间编程

引子 我们都生活在时间中,但却无法去思考它.什么是时间呢?似乎这是一个永远也不能被回答的问题.然而作为一个程序员,在工作中,总有那么几次我必须思考什么是时间.比如,需要知道一段代码运行了多久:要在 log 文件中记录事件发生时的时间戳:再比如需要一个定时器以便能够定期做某些计算机操作.我发现,在计算机世界中,时间在不同场合也往往有不同的含义,让试图思考它的人感到迷茫.但值得庆幸的是,Linux 中的时间终究是可以理解的.因此我打算讨论一下有关时间的话题,尝试着深入理解 Linux 系统中 C 语

帮助你提升效率的Linux终端快捷操作汇总

很多普通 Linux 桌面用户都对使用终端感到排斥和恐惧,其实它没大家想的那么复杂,很多常见操作都可以直接在终端中进行,如:安装软件.升级系统等. 无论你是新手还是 Linux 终端使用的老鸟,小编在此为大家总结了提升终端命令执行效率的快捷操作汇总,希望能帮助你学习和提升效率. 移动定位光标 在终端中移动光标和定位似乎非常不便,其实不是你想的那样,有很多种方式可以让键盘成为你的好朋友,只是需要掌握正确的方法而已. 定位单词 在长段的命令中,使用 Ctrl + ← 和 Ctrl + → 可快速将光

Fluxbox v1.3发布 基于GNU/Linux轻量级图形操作界面

Fluxbox是一个基于GNU/Linux的轻量级图形操作界面,它基于Blackbox 0.61.1代码开发,它虽然没有GNOME和KDE那样精美,但由于它的运行对系统资源和配置要求极低,所以它被安装到很多较旧的或是对性能要求较高的机器上,其菜单和相关配置被保存于用户根目录下的.fluxbox目录里,这样使得它的配置极为便利. Fluxbox是类Unix系统里一个极为轻量极的图形界面,它的运行速度相当快.它基于Blackbox并与之相兼容,这两者的窗体控件,色调等都极为相似.Fluxbox对KD