如何利用s3c2440的gpio实现数据输入和输出
最新推荐文章于 2021-05-23 20:38:13 发布
这些函数的实现在linux内核源代码的/arch/arm/plat_s3c24xx/gpio.c中实现,这些函数的具体内容就不在这里介绍了,可以通过源代码进行查看,这里对这些函数的用法进行解读:
1.void s3c2410_gpio_cfgpin(unsigned int pin,unsigned int function)
第一个参数pin 是对应的io引脚(这里用宏S3C2410_GPB(5),5不是固定的,看你需要引用的引脚而定)
第二个引脚是设置该引脚的功能的
(由S3C2410_GPIO_INPUT,S3C2410_GPIO_OUTPUT,S3C2410_GPIO_SFN2,S3C2410_GPIO_SFN3这4个宏进行定义)
例如:s3c2410_gpio_cfgpin(S3C2410_GPB(5),S3C2410_GPIO_INPUT)
设置GPB5引脚为输入。
2.unsigned int s3c2410_gpio_gecfg(unsigned int pin)
作用:返回对应的GPIO的配置情况
例如:pin=s3c2410_GPB5返回GPB5的配置情况
3.void s3c2410_gpio_pullup(unsigned int pin,unsigned int to)
作用:设置相应的的GPIO的上拉电阻。
第一个参数:相应的引脚,和1里面的用法一致。
第二个参数:设置为1或者0,1表示上拉,0表示不上拉。
4.void s3c2410_gpio_setpin(unsigned int pin,unsigned int to)
作用:将相应的引脚输出为1或者0。
第一个参数:相应的引脚宏
第二个参数:1或者0
例子:s3c2410_gpio_setpin(S3C2410_GPB(5),1)将引脚GPB5输出为1
5.unsigned int s3c2410_gpin_getpin(unsigned int pin)
功能:获取输入值
参数:相应的引脚