Linux中gpio接口的使用方法示例
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,前言Linux内核中gpio是最简单,最常用的资源(和 interrupt ,dma,timer一样)驱动程序,应用程序都能够通过相应的接口使用gpio,gpio使用0~MAX_INT之间的整数标识,
千家信息网最后更新 2025年01月31日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安全错误
数据库的锁怎样保障安全
里水网络安全定制
加油站风险数据库填报
中国isc网络安全大会
数据库搭建与管理
北京采购管理软件开发
国家网络安全办杜威
环县网络安全
徐汇区企业网络技术服务有哪些
无线网络安全设置怎么更换
服务器冗余硬盘
软件开发加班费怎么算
淄博量化积分管理软件开发公司
构建企业网络安全方案的设计
连接其它服务器sql数据库
软件开发怎么定位自己的工资
暗黑2主机切换服务器
软件开发难还是会计难
浙江益祥互联网科技有限公司
软件开发需要什么硬件
幼儿园网络安全手抄报大全
网络安全的词
35岁以上网络安全员
破解服务器管理员登录
十堰智能软件开发技术指导
高通发布首款服务器芯片
关于网络安全的黑板报
dede重装 数据库密码
河北java软件开发技术
租车软件开发
服务器怎么进阵列管理