cat /sys/kernel/debug/gpio

cat /proc/bus/input/devices

#define GPIO_BANK0              (0 << RK_GPIO_BANK_OFFSET)

#define GPIO_BANK1              (1 << RK_GPIO_BANK_OFFSET)
#define GPIO_BANK2              (2 << RK_GPIO_BANK_OFFSET)
#define GPIO_BANK3              (3 << RK_GPIO_BANK_OFFSET)
#define GPIO_BANK4              (4 << RK_GPIO_BANK_OFFSET)
#define GPIO_BANK5              (5 << RK_GPIO_BANK_OFFSET)
#define GPIO_BANK6              (6 << RK_GPIO_BANK_OFFSET)
#define GPIO_BANK7              (7 << RK_GPIO_BANK_OFFSET)
#define GPIO_BANK8              (8 << RK_GPIO_BANK_OFFSET)

#define RK_GPIO_BANK_OFFSET   8

#define GPIO_A0                 0
#define GPIO_A1                 1
#define GPIO_A2                 2
#define GPIO_A3                 3
#define GPIO_A4                 4
#define GPIO_A5                 5
#define GPIO_A6                 6
#define GPIO_A7                 7
#define GPIO_B0                 8
#define GPIO_B1                 9
#define GPIO_B2                 10
#define GPIO_B3                 11
#define GPIO_B4                 12
#define GPIO_B5                 13
#define GPIO_B6                 14
#define GPIO_B7                 15
#define GPIO_C0                 16
#define GPIO_C1                 17
#define GPIO_C2                 18
#define GPIO_C3                 19
#define GPIO_C4                 20
#define GPIO_C5                 21
#define GPIO_C6                 22
#define GPIO_C7                 23
#define GPIO_D0                 24
#define GPIO_D1                 25
#define GPIO_D2                 26
#define GPIO_D3                 27
#define GPIO_D4                 28
#define GPIO_D5                 29
#define GPIO_D6                 30
#define GPIO_D7                 31

如gpio7 GPIO_B4就是(7 << RK_GPIO_BANK_OFFSET) | GPIO_D2

简单点的写法就是7x32+12=236

GPIO7_B4=236   //M180_V3 << SPICLLK

GPIO7_B5=237   //M180_V3 << SPICSN

shell  测试GPIO输出驱动

echo 236 > /sys/class/gpio/export             //打开指定GPIO

echo out > /sys/class/gpio/gpio236/direction  //修改为输出

echo 1 >/sys/class/gpio/gpio236/value        //写入输出值  0 或者1

poll示例:
memset((void *)xfds, 0, sizeof(xfds));
xfds[0].fd = fd;
xfds[0].events = POLLPRI;
ret = poll(xfds, 1, -1);
if(ret <= 0)
ERREXIT("poll value");
if(xfds[0].revents & POLLPRI)
{
/* get value */
ret = lseek(fd, 0, SEEK_SET);
if(ret < 0)
ERREXIT("lseek value");
ret = read(fd, buf, 2);
buf[1] = '\0';
printf("read ret = %d, value = %s\n", ret, buf);
if(ret != 2)
ERREXIT("read value");
}
select示例:
FD_ZERO(&exceptfds);
FD_SET(fd, &exceptfds);
ret = select(fd+1,NULL,NULL,&exceptfds,NULL);
if(ret < 0)
ERREXIT("select value");
//else if(ret > 0)
if(ret > 0)
{
/* get value */
ret = lseek(fd, 0, SEEK_SET);
if(ret < 0)
ERREXIT("lseek value");
ret = read(fd, buf, 2);
buf[1] = '\0';
printf("read ret = %d, value = %x\n", ret, buf[0]);
if(ret != 2)
ERREXIT("read value");
}

RK3288  GPIO 输出驱动电流能力有限,请知悉!!!max_current  <=100MA

RK3288 GPIO 输出问题的更多相关文章

  1. RK3288 GPIO 输出问题【转】

    本文转载自:http://m.blog.csdn.net/jiangdou88/article/details/50158673 #define GPIO_BANK0              (0 ...

  2. 第11章 GPIO输出—使用固件库点亮LED

    第11章     GPIO输出—使用固件库点亮LED 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku. ...

  3. 第11章 GPIO输出-使用固件库点亮LED—零死角玩转STM32-F429系列

    第11章     GPIO输出—使用固件库点亮LED 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku. ...

  4. RK3288 GPIO

    简介GPIO, 全称 General-Purpose Input/Output(通用输入输出),是一种软件运行期间能够动态配置和控制的通用引脚.RK3288有9组 GPIO bank: GPIO0,G ...

  5. 【转】 使用Beaglebone Black的PRU(三)——实现高达100MHz的GPIO输出

    友情提示:请先按照本系列(一)(二)的说明安装PRU工具并跑通hello world再继续按本文操作. PRU操作GPIO有很多种方式,本系列之(二)中的是一种,但最快速的方式是通过直接“写”r30和 ...

  6. GPIO输出—使用固件库点亮LED

    为了使工程更加有条理,我们把 LED 灯控制相关的代码独立分开存储,方便以后移植.在“工程模板”之上新建“ bsp_led.c”及“ bsp_led.h”文件,其中的“ bsp”即 BoardSupp ...

  7. 第12章 GPIO输出—使用固件库点亮LED

    本章参考资料:<STM32F76xxx参考手册>.库帮助文档<STM32F779xx_User_Manual.chm>. 利用库建立好的工程模板,就可以方便地使用STM32 H ...

  8. ESP8266 LUA脚本语言开发: 外设篇-GPIO输出高低电平

    前言 所有的LUA开发API参考 https://nodemcu.readthedocs.io/en/master/en/modules/gpio/ 原理图 让GPIO2输出高电平只需 gpio.mo ...

  9. ESP8266 SDK开发: 外设篇-GPIO输出高低电平

    前言 官方提供了两个函数 GPIO_OUTPUT_SET(gpio_no, bit_value) 设置GPIO2输出高电平 GPIO_OUTPUT_SET(2, 1); 设置GPIO2输出低电平 GP ...

随机推荐

  1. Signing Data

    Signing Data with CNG http://msdn.microsoft.com/en-us/library/windows/desktop/aa376304(v=vs.85).aspx

  2. git SourceTree常用操作

    1.git 修改用户名以及提交邮箱 修改用户名和邮箱有两种方式,第一种 git 修改当前的project的用户名的命令为:git config user.name 你的目标用户名;  git 修改当前 ...

  3. Android Unable to instantiate activity: Didn't find class on path

    Android Unable to instantiate activity: Didn't find class on path After i spend a while on this prob ...

  4. 在win10里打开.hlp文件

    D7的帮助都是.hlp格式的,  目前win10还没有相应的补丁, 导致无法打开 自己手动来处理一下: 1. 下载连接中的winhlp32.rar, 这个是从XP系统里提取的 2. 修改windows ...

  5. 单例模式-C++

    单例模式(Singleton) --本文内容部分引自<大话设计模式 Chapter21> 一.概念:保证一个类仅有一个实例,并提供一个访问它的全局访问点. 通常我们可以让一个全局变量使一个 ...

  6. How to change hostname on SLE

    修改/etc/HOSTNAME文件,在此文件中保存主机名,例如: linuxserv1 然后运行命令设置主机名 # /etc/rc.d/boot.localnet start 方法3. 运行 sysc ...

  7. 安装VS 2015完成后,VS2012 打开报错

    安装VS 2015完成后,VS2012 打开报错 打开VS2012Web项目,弹出错误提示: asp.net 4.0 has not been registered on the web server ...

  8. linux系统文件权限

    Linux文件权限详解 文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录.通过设定权限可以从以下三种访问方式限制访问权限:只允许 ...

  9. zabbix agent安装与配置篇

     Zabbix监控windows部署安装 Zabbix agent 在windows上安装部署 (1)手工安装zabbix agent客户端 1.  下载与解压 地址: http://www.zabb ...

  10. MVC4与JSON交互的知识总结

    一:jquery传递JSON给MVC4后台 1.JSON传递单个参数给Controller某个Action方法 [前台js] $(document).ready(function () { var p ...