zoukankan      html  css  js  c++  java
  • Linux内核 GPIO操作部分API

    内核中关于GPIO的操作API主要集中在<linux/of_gpio.h>和<linux/gpio.h>中,前者主要是GPIO直接与设备树相关的操作,在Linux 设备树操作API中已经记录过,后者主要是针对GPIO本身的操作,常用的有下面几个。

    //linux/gpio.h
    /**
     * gpio_request_one - request a single GPIO with initial configuration
     * @gpio:       the GPIO number
     * @flags:      GPIO configuration as specified by GPIOF_*
     * @label:      a literal description string of this GPIO
     */
    int gpio_request_one(unsigned gpio, unsigned long flags, const char *label)
    
    /* 判断gpio是否有效 */
    bool gpio_is_valid(int number)
    
    /**
     * 功能:设置指定gpio的工作模式为输入模式
     * @gpio - 编号(要找的是那个cell)
     * 失败:负数,绝对值错误码,成功:0
     */
    int gpio_direction_input(unsigned gpio)
    
    /**
     * 功能:设置指定gpio的工作模式为输出模式
     * gpio - 编号(要找的是那个cell)
     * 失败:负数,绝对值错误码,成功:0
     */
    int gpio_direction_output(unsigned gpio, int value)
    
    /* 设置GPIO的值 */
    void gpio_set_value(unsigned gpio, int value)
    
    /* 获取GPIO的值 */
    int gpio_get_value(unsigned gpio)
    
    /* 申请软中断到GPIO引脚 */
    int gpio_to_irq(unsigned int gpio)
    
    /* 释放GPIO */
    gpio_free(unsigned gpio)
    
  • 相关阅读:
    uva 1374 快速幂计算
    uva 1343 非原创
    uva 11212
    uva 10603
    路径寻找问题……!
    bzoj 1008: [HNOI2008]越狱
    bzoj 1010: [HNOI2008]玩具装箱toy
    dp斜率优化小计
    bzoj 1002[FJOI2007]轮状病毒
    hihocoder #1114
  • 原文地址:https://www.cnblogs.com/xiaojiang1025/p/6388607.html
Copyright © 2011-2022 走看看