General Purpose Input Output (通用输入/输出)简称为GPIO,或总线扩展器,人们利用工业标准I2C、SMBus或SPI接口简化了I/O口的扩展。

在Linux驱动GPIO是使用频率可谓是相当之高。

应用程序都能够通过相应的接口使用gpio,gpio使用0~MAX_INT之间的整数标识,不能使用负数。

下面简单讲一下它的一些用法。

 

测试是否合法:

int gpio_is_valid(int number);

 

请求一个/一组gpio:

gpio_request/devm_gpio_request、gpio_request_one/devm_gpio_request_one、gpio_request_array

 

设置gpio方向为输入/输出:

gpio_direction_input、gpio_direction_output

 

将该gpio通过sys文件系统导出,应用层可以通过文件操作gpio:

gpio_export

 

如果gpio为输入,获取gpio值,如果gpio为输出,可以设置gpio高低电平

gpio_get_value、gpio_set_value

 

将gpio转为对应的irq,然后注册该irq的中断handler:

request_irq(gpio_to_irq(gpio_num)...)

 

释放请求的一个或者一组gpio:

gpio_free/devm_gpio_free、gpio_free_array

Logo

更多推荐