Linux中的GPIO的使用方法
来源:互联网 发布:手机学全站仪的软件 编辑:程序博客网 时间:2024/05/23 13:04
http://lengnuanyangguang.blog.163.com/blog/static/55676445201242531319525/
应该是新版本内核才有的方法。请参考:./Documentation/gpio.txt文件
提供的API:驱动需要包含 #include <linux/gpio.h>
在驱动中使用延时函数mdelay,需要包含<linux/delay.h>文件。 1;判断一个IO是否合法:
int gpio_is_valid(int number);
2;设置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);
3;获取输入引脚的电平: /* 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);
/*To access such GPIOs, a different set of accessors is defined:*/
/* 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);
4获取一个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);
5;将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);
6;设置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的使用方法
- Linux中的gpio口使用方法
- Linux中的gpio口使用方法
- Linux中的gpio口使用方法
- Linux中的gpio口使用方法
- Linux中的GPIO口使用方法
- linux为gpio构建的使用方法
- cubieboard2的gpio使用方法
- linux下对/sys/class/gpio中的gpio的控制
- linux下对/sys/class/gpio中的gpio的控制
- Linux内核中GPIO操作函数的使用方法
- linux 中的GPIO操作
- Linux中的GPIO操作
- imx6q GPIO功能的使用方法
- imx6 GPIO功能的使用方法
- imx6q GPIO功能的使用方法
- Linux内核中的GPIO驱动
- linux内核中的GPIO系统
- OC语言学习-其他
- 视频广告应该是你的广告计划中巨大的一部分
- cocos2d-x之CCTextureCache 用法总结
- opencv之sift双目测距
- 使用 CSS 媒体查询创建响应式网站
- Linux中的GPIO的使用方法
- 十大渗透测试演练系统
- Android数据库hibernate框架
- 关于Qt控制中边框的显示的一些设置(完善中)
- 视频幻灯片演示模板 - 背景,主题分析蜜蜂最终购买的追随者结束
- 利用社会智力与社会媒体分析
- Foundation框架学习-结构体
- [ACM] POJ 1942 Paths on a Grid (组合)
- history.back(-1)和history.go(-1)的区别