S3C6410 GPIO操作接口
一、配置GPIO
S3C6410要使用其引腳時(shí),需要對(duì)其進(jìn)行配置,如配置為輸入/輸出/中斷等功能,根據(jù)芯片手冊(cè)來(lái)配置,所用的這些配置工作都在Gpiolib.c(/arch/arm/plat-s3c64xx)中完成,當(dāng)然,你在起步階段可以用基本的__raw_readl和__raw_writel來(lái)操作,了解其基本的原理。
1. 配置為上拉/下拉
arm芯片一般都可以內(nèi)部配置為上拉或下拉,如此就不需要外部接上拉電阻,簡(jiǎn)化電路。配置成上拉,驅(qū)動(dòng)能力更強(qiáng),例外防止其處在電平懸浮狀態(tài)。
操作:把GPB第一個(gè)引腳配置為上拉
函數(shù):s3c_gpio_setpull(S3C64XX_GPB(0),S3C_GPIO_PULL_UP);
操作:把GPB第一個(gè)引腳配置為下拉
函數(shù):s3c_gpio_setpull(S3C64XX_GPB(0),S3C_GPIO_PULL_DOWN);
2.配置為輸入/輸出
在使用引腳,首先確定該引腳是輸入還是輸出。
操作:gpio_direction_output(S3C64XX_GPB(0),1);
gpio_direction_input(S3C64XX_GPB(0));
3. 使用GPIO
設(shè)置某端口的某一位或讀取某一位
設(shè)置輸出的值:gpio_set_value(S3C64XX_GPB(0), 1);
讀取輸入的值:gpio_get_value(S3C64XX_GPB(0));
4.釋放GPIO
gpio_free(S3C64XX_GPF(15));
就是把對(duì)應(yīng)GPIO口的控制標(biāo)志FLAG_REQUESTED清掉,成NULL,之后可以再被其他調(diào)用。
就先介紹這些吧,這些在GPIO的操作中已經(jīng)夠用了,具體的實(shí)現(xiàn)就不貼出來(lái)了,直接在Sourceinsight中查看吧。下面就是開(kāi)始GPIO的應(yīng)用了。