Linux中gpio接口的使用方法示例
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,前言Linux内核中gpio是最简单,最常用的资源(和 interrupt ,dma,timer一样)驱动程序,应用程序都能够通过相应的接口使用gpio,gpio使用0~MAX_INT之间的整数标识,
千家信息网最后更新 2026年11月01日Linux中gpio接口的使用方法示例
前言
Linux内核中gpio是最简单,最常用的资源(和 interrupt ,dma,timer一样)驱动程序,应用程序都能够通过相应的接口使用gpio,gpio使用0~MAX_INT之间的整数标识,不能使用负数,gpio与硬件体系密切相关的,不过linux有一个框架处理gpio,能够使用统一的接口来操作gpio.在讲gpio核心(gpiolib.c)之前先来看看gpio是怎么使用的
使用gpio
使用gpio接口需要包含#include ,在驱动中使用延时函数mdelay,需要包含#include 文件,Documentation/gpio.txt文件有作详细说明。
判断一个IO是否合法:
int gpio_is_valid(int number);
设置GPIO的方向,如果是输出同时设置电平:
/* set as input or output, returning 0 or negative errno */int gpio_direction_input(unsigned gpio);int gpio_direction_output(unsigned gpio, int value);
获取输入引脚的电平:
/* GPIO INPUT: return zero or nonzero */int gpio_get_value(unsigned gpio);/* GPIO OUTPUT */void gpio_set_value(unsigned gpio, int value);int gpio_cansleep(unsigned gpio);/* GPIO INPUT: return zero or nonzero, might sleep */int gpio_get_value_cansleep(unsigned gpio);/* GPIO OUTPUT, might sleep */void gpio_set_value_cansleep(unsigned gpio, int value);
获取一个GPIO并声明标签:
/* request GPIO, returning 0 or negative errno.* non-null labels may be useful for diagnostics.*/int gpio_request(unsigned gpio, const char *label);/* release previously-claimed GPIO */void gpio_free(unsigned gpio);
将GPIO映射为IRQ中断:
/* map GPIO numbers to IRQ numbers */int gpio_to_irq(unsigned gpio);/* map IRQ numbers to GPIO numbers (avoid using this) */int irq_to_gpio(unsigned irq);
设置GPIO的IRQ中断类型:
if (!sw->both_edges) { if (gpio_get_value(sw->gpio)) { set_irq_type(gpio_to_irq(sw->gpio), IRQ_TYPE_EDGE_FALLING); } else { set_irq_type(gpio_to_irq(sw->gpio), IRQ_TYPE_EDGE_RISING); }}参考文章
Linux中的gpio口使用方法
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
接口
内容
文件
电平
程序
参考
学习
驱动
使用方法
方法
合法
之间
价值
体系
内核
函数
前言
同时
就是
常用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广东猪兼强互联网科技有限公司
互联网中国科技
合肥互联网科技公司
礼当家互联网科技
上海致骋互联网科技
伴你行互联网科技有限公司
互联网科技大会
隆华科技工业互联网
华夏互联网科技业
辽宁互联网新科技
速维有品互联网信息科技(苏州)有限公司
民营互联网公司国防科技
高科技互联网发展前景如何
互联网金融科技公司的优势
江苏互联网智能科技软件
厦门江牛科技互联网
陕西彩京云互联网科技有限公司
互联网科技大会大佬
瑞安市蟠桃会互联网科技有限公司
科技发展第三阶段互联网时代
美国互联网科技巨头监管
互联网科技资迅
无线互联网科技
人人互联网科技是培训
无锡溥仪互联网科技有限公司
北京大学互联网科技怎么样
互联网软件和科技
互联网与医疗科技
互联网营销推广黑科技
互联网科技自媒体灵感