linux 内核操作gpio,linux内核gpio操作函数解析

详解内核驱动操作GPIO引脚API函数

函数原型:

void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int function);

unsigned int s3c2410_gpio_getcfg(unsigned int pin);

void s3c2410_gpio_pullup(unsigned int pin, unsigned int to);

void s3c2410_gpio_setpin(unsigned int pin, unsigned int to);

unsigned int s3c2410_gpio_getpin(unsigned int pin);

unsigned int s3c2410_modify_misccr(unsigned int clear, unsigned int change);

int s3c2410_gpio_getirq(unsigned int pin);

关于函数中用到的虚拟地址到物理地址转换的变量及算法可以参考

http://www.doczj.com/doc/61b6a60402020740be1e9b9f.html/hefeng330467115@126/blog/static/78205842201 0620511659/

或http://www.doczj.com/doc/61b6a60402020740be1e9b9f.html/u3/102836/showart_2065945.html

看简单led驱动程序是用到的文件及头文件可能有:

linux/include/asm-arm/arch-s3c2410/map.h

linux/include/asm-arm/arch-s3c2410/regs-gpio.h

linux/arch/arm/plat-s3c24xx/gpio.c

linux/include/asm-arm/io.h

用Source Insight 打开这些文件,然后再看驱动程序,可以随意跳转到定义处,很是方便

pin参数:

gpio引脚及特殊功能寄存器助记符都在

linux/include/asm-arm/arch-s3c2410/regs-gpio.h中定义:

eg:

S3C2410_GPACON

S3C2410_GPADAT

S3C2410_GPA0 - S3C2410_GPA22 //引脚

S3C2410_GPA0_OUT - S3C2410_GPA22_OUT //设置引脚为输出

用到哪个不清楚的可以直接到这个文件去查找

还有中断和GSTATUS:

S3C2410_EXTINT0 -> irq sense control for EINT0..EINT7

S3C2410_EXTINT1 -> irq sense control for EINT8..EINT15

S3C2410_EXTINT2 -> irq sense control for EINT16..EINT23

……

function参数:

指定引脚功能:输出、输入还是特殊功能,也在

linux/include/asm-arm/arch-s3c2410/regs-gpio.h中定义。

函数功能:

1原型:void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值