zoukankan      html  css  js  c++  java
  • RK3288 GPIO 输出问题

    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] = '';
    printf("read ret = %d, value = %s ", 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] = '';
    printf("read ret = %d, value = %x ", ret, buf[0]);
    if(ret != 2)
    ERREXIT("read value");
    }

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

  • 相关阅读:
    文献阅读报告
    Social LSTM 实现代码分析
    文献阅读报告
    对象不止是一个对象——面向对象设计与构造第四章总结暨课程总结
    当代码遇到数理逻辑——面向对象设计与构造第三章总结
    学会拒绝,是一种智慧——OO电梯章节优化框架的思考
    学会与“有生命力”的对象打交道——面向对象设计与构造第二章总结
    从结构和数字看OO——面向对象设计与构造第一章总结
    爬取漫画DB上的JoJo的奇妙冒险 第七部 飙马野郎
    爬取5家公司(如:阿里巴巴、京东、亚马逊、华为、贵州茅台)百度“资讯”新闻的10页内容
  • 原文地址:https://www.cnblogs.com/muhuacat/p/6223330.html
Copyright © 2011-2022 走看看