Linux内核对GPIO的操作函数

用于学习记录:
1.gpio_set_value(unsigned gpio, int value)用来设置gpio寄存器的值

2.gpio_direction_output(unsigned gpio, int value)用来设置gpio为输出功能,同时设置gpio输出的值。

一般来说,设置一个GPIO口为输出,先执行一次gpio_direction_output,然后接下来只需执行gpio_set_value就行了。

3.gpio_direction_input(unsigned gpio)用来设置gpio为输入功能

4.gpio_get_value(unsigned gpio)用来获取gpio口的输入的值;

5.在使用gpio口之前,先用gpio_request(unsigned gpio, const char* label)申请gpio口的使用,若申请成功,则说明该gpio口未被使用。

6.在使用完gpio口之后,用gpio_free(unsigned gpio)释放gpio口。

7.如何获取gpio口呢,可以查看内核中对应版型的相关文件,也可以自己进行计算,比如GPIOA1的gpio为1,GPIOB2为34。

8.gpio口的通用函数接口定义在gpiolib.c文件中,声明则在gpio.h中。

9 Linux上使用的C编译器是GNU C编译器

10

内联函数是使用inline关键字声明的函数,也成内嵌函数,它主要的作用是解决程序的运行效率。

使用内联函数的时候要注意:

1.递归函数不能定义为内联函数

2.内联函数一般适合于不存在while和switch等复杂的结构且只有1~5条语句的小函数上,否则编译系统将该函数视为普通函数。

3.内联函数只能先定义后使用,否则编译系统也会把它认为是普通函数。

4.对内联函数不能进行异常的接口声明。

Guess you like

Origin blog.csdn.net/W_s_j/article/details/113391405