开发中需要经常设置GPIO口,real 210提供的库文件里是带有gpio操作的,具体使用如下,首先要把头文件包含进来,主要有如下,如果缺失的话,可以根据编译器报什么错就添加什么文件即可.主要如下:
#include <linux/errno.h> #include <linux/kernel.h> #include <linux/module.h> #include <linux/slab.h> #include <linux/init.h> //#include <linux/serio.h> #include <linux/device.h> #include <linux/delay.h> #include <linux/clk.h> #include <asm/io.h> #include <asm/irq.h> #include <linux/miscdevice.h> #include <linux/sched.h> #include <linux/poll.h> #include <linux/spinlock.h> #include <linux/coda.h> #include <linux/cdev.h> #include <linux/interrupt.h> #include <linux/platform_device.h> #include <linux/delay.h> //#include <linux/devfs_fs_kernel.h> //#include <asm/hardware/clock.h> /******s3c2410 header files*********/ /*#include <asm/arch/gpio.h> #include <asm/arch/irqs.h> #include <asm/hardware.h> #include <asm/arch-s3c2410/regs-gpio.h> #include <asm/plat-s3c/regs-timer.h>*/ /********************************/ /**********s5pv 210 header files*********************/ #include <linux/types.h> #include <linux/serial_core.h> #include <linux/gpio.h> #include <asm/mach/arch.h> #include <asm/mach/map.h> #include <asm/setup.h> #include <asm/mach-types.h> #include <mach/map.h> #include <mach/regs-mem.h> #include <mach/regs-gpio.h> #include <mach/gpio-bank.h> #include <plat/s5pv210.h> #include <plat/gpio-cfg.h> #include <mach/gpio-bank-b.h> /*************************************************/
具体的GPIO操作函数如下:
//config input or output s3c_gpio_cfgpin(S5PV210_GPH2(3), S3C_GPIO_INPUT); //INPUT s3c_gpio_cfgpin(S5PV210_GPH2(2), S3C_GPIO_OUTPUT); //OUTPUT //set or get value gpio_set_value(S5PV210_GPH2(2), 0); gpio_get_value(S5PV210_GPJ2(1)) //pull up or down s3c_gpio_setpull(S5PV210_GPH2(3), S3C_GPIO_PULL_UP); //PULLUP s3c_gpio_cfgpin(S5PV210_GPH2(2), S3C_GPIO_PULL_DOWN);//PULLDOWN
参考:
GPIO驱动分析 & GPIO使用方法 -- S5PC110
文章的脚注信息由WordPress的wp-posturl插件自动生成