1.在嵌入式Linux GPIO表示為“S3C2410_GPx(n)”,其中x的取值為“A,B,C,D,E,F,G,H.....”,表示那個GPIO口,n的取值為“1,2,3,.....”表示第幾個管腳。
例如本文引用位址:http://www.eepw.com.cn/article/201611/316727.htm
B口的第六管教:S3C2410_GPB(6)
D口的第12管教:S3C2410_GPD(12)
.....
注 這些宏定義在arch/arm/mach-s3c2410/include/mach/gpio-nrs.h,使用#include
以下包含#include
2.設定gpio的工作模式是輸入,輸出還是其他的
voids3c2410_gpio_cfgpin(unsigned int pin, unsigned int function)
參數 pin 表示配置的管腳 形如“S3C2410_GPB(6)”的實參
參數 function 表示該管腳配置的功能 一般隻能配置下列參數
S3C2410_GPIO_INPUT:該管腳配置為輸入
S3C2410_GPIO_OUTPUT:該管腳配置為輸出
S3C2410_GPIO_SFN1
S3C2410_GPIO_SFN2
S3C2410_GPIO_LEAVE
3.傳回對應的GPIO的配置情況是輸入,輸出還是其他的
unsignedint s3c2410_gpio_getcfg(unsigned int pin)
參數 pin 表示配置的管腳 形如“S3C2410_GPB(6)”的實參
傳回值
S3C2410_GPIO_INPUT:該管腳配置為輸入
S3C2410_GPIO_OUTPUT:該管腳配置為輸出
....
4.設定相應的GPIO的上拉電阻
voids3c2410_gpio_pullup(unsigned int pin, unsigned int to)
參數 pin 表示配置的管腳 形如“S3C2410_GPB(6)”的實參
參數 to 當to為1時候,相應的pin引腳設定為1,表示該GPIO要上拉電阻,to為0時候,相應的pin引腳配置為0,表示不要上拉電阻
5.ints3c2410_gpio_getpull(unsigned int pin)
參數 pin 表示配置的管腳 形如“S3C2410_GPB(6)”的實參
傳回值 為1時候,表示該GPIO有上拉電阻;為0時候,表示沒有上拉電阻
6.當GPIO的工作為輸出時候,設定某個GPIO的值
voids3c2410_gpio_setpin(unsigned int pin, unsigned int to)
參數 pin 表示配置的管腳 形如“S3C2410_GPB(6)”的實參
參數 to 當to為1時候,相應的pin引腳設定為高電平,to為0時候,相應的pin引腳配置為低電平
7.當GPIO的工作為輸入時候,設定某個GPIO的值
unsigned ints3c2410_gpio_getpin(unsigned int pin)
參數 pin 表示配置的管腳 形如“S3C2410_GPB(6)”的實參
傳回值 為1時候,表示該GPIO輸入高電平;為0時候,表示輸入低電平
8.給定端口,轉換出irq号
ints3c2410_gpio_getirq(unsigned int pin)
參數 pin 表示配置的管腳 形如“S3C2410_GPB(6)”的實參
傳回值 irq
9.雜項配置
unsigned ints3c2410_modify_misccr(unsigned int clear, unsigned int change)