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. 自定义RecyclerView.ItemDecoration,实现RecyclerView的分割线效果

    [转] 原文 自定义RecyclerView.ItemDecoration,实现RecyclerView的分割线效果 字数1598 阅读302 评论2 喜欢23 1.背景   RecyclerView ...

  2. windows核心编程 - 线程基础

    一.基本概念: 一个进程至少需要一个线程. 组成:一个线程包括仅包括一个线程堆栈和一个线程内核对象 线程堆栈:用于维护线程在执行代码时需要的所有函数参数和局部变量 线程内核对象:操作系统用它来对线程实 ...

  3. LeetCode Add Strings

    原题链接在这里:https://leetcode.com/problems/add-strings/ 题目: Given two non-negative numbers num1 and num2  ...

  4. Android 自定义spinner下拉框实现

    一:前言本人参考博客:http://blog.csdn.net/jdsjlzx/article/details/41316417 最近在弄一个下拉框,发现Android自带的很难实现我的功能,于是去网 ...

  5. Python —基本数据类型

    运算符 1.算数运算: 2.比较运算: 3.赋值运算: 4.逻辑运算: 5.成员运算: 基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31- ...

  6. python不是内部或外部命令

    原因是环境变量没有添加. 比如python安装再C:\Python27 环境变量path增加C:\Python27即可,不需重启. 但是之前报错的cmd窗口需要重新打开再执行python命令

  7. delphi 判断一个数组的长度用 Length 还是 SizeOf ?

    判断一个数组的长度用 Length 还是 SizeOf ?最近发现一些代码, 甚至有一些专家代码, 在遍历数组时所用的数组长度竟然是 SizeOf(arr); 这不合适! 如果是一维数组.且元素大小是 ...

  8. 安装hadoop集群服务器(hadoop1.2.1)

    摘要:hadoop,一个分布式系统基础架构,可以充分利用集群的威力进行高速运算和存储.本文主要介绍hadoop的安装与集群服务器的配置. 准备文件: ▪ VMware11.0.0      ▪ Cen ...

  9. sql服务器启动不了问题

    问题:the the service mysql56 failed the most recent status change request with the messagethe service  ...

  10. Last time, I wrote a pager, but now it seems this no longer has use, so I want to paste it here.

    public class Pager<T> where T : new() { private IEnumerable<T> _all; private IEnumerable ...