Linux中的IO使用方法
2014-05-12 16:27
204 查看
应该是新版本内核才有的方法。
请参考:./Documentation/gpio.txt文件
提供的API:
驱动需要包含 #include
判断一个IO是否合法:int gpio_is_valid(int number);
设置GPIO的方向,如果是输出同时设置电平:
int gpio_direction_input(unsigned gpio);
int gpio_direction_output(unsigned gpio, int value);
获取输入引脚的电平:
int gpio_get_value(unsigned gpio);
void gpio_set_value(unsigned gpio, int value);
int gpio_cansleep(unsigned gpio);
To access such GPIOs, a different set of accessors is defined:
int gpio_get_value_cansleep(unsigned gpio);
void gpio_set_value_cansleep(unsigned gpio, int value);
获取一个GPIO并声明标签:
int gpio_request(unsigned gpio, const char *label);
void gpio_free(unsigned gpio);
将GPIO映射为IRQ中断:
int gpio_to_irq(unsigned gpio);
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);
在驱动中使用延时函数mdelay,需要包含文件。
请参考:./Documentation/gpio.txt文件
提供的API:
驱动需要包含 #include
判断一个IO是否合法:int gpio_is_valid(int number);
设置GPIO的方向,如果是输出同时设置电平:
int gpio_direction_input(unsigned gpio);
int gpio_direction_output(unsigned gpio, int value);
获取输入引脚的电平:
int gpio_get_value(unsigned gpio);
void gpio_set_value(unsigned gpio, int value);
int gpio_cansleep(unsigned gpio);
To access such GPIOs, a different set of accessors is defined:
int gpio_get_value_cansleep(unsigned gpio);
void gpio_set_value_cansleep(unsigned gpio, int value);
获取一个GPIO并声明标签:
int gpio_request(unsigned gpio, const char *label);
void gpio_free(unsigned gpio);
将GPIO映射为IRQ中断:
int gpio_to_irq(unsigned gpio);
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);
在驱动中使用延时函数mdelay,需要包含文件。
相关文章推荐
- 使用ganyssh包进行linux连接时读回显时readLine发生io阻塞解决方法
- linux下machine_desc结构体中的phys_io与io_pg_offst 的作用及使用方法
- Linux编辑器vi使用方法详细介绍
- Linux命令:sort的使用方法
- linux 3D桌面使用方法
- Linux man命令的使用方法
- Linux下C++的man安装及使用方法
- Linux编辑器vi使用方法详细介绍
- Strace在Linux下简单使用方法
- cygwin 在windows下使用linux命令的方法
- linux上CUnit 2.1.3安装-使用-示例-安装不上的解决方法
- Linux下使用ALSA来播放声音 - 基本使用方法
- [Linux/Ubuntu] vi/vim 使用方法讲解
- linux下监控jvm 使用的方法
- Linux(centos)下安装卸载命令rpm,make install使用方法【转】
- 在Linux桌面上随意使用Windows文档的方法
- Linux中使用NTP保持精确时间的方法详解
- Linux-vi的使用方法
- Linux帮助使用方法
- NOI Linux Terminal(终端)使用方法(笑)