gpio子系统API函数 设备树中添加gpio节点模板 gpio相关OF函数 硬件原理图 实验程序编写 修改设备树文件 LED灯驱动程序编写 编写测试APP 运行测试 编译驱动程序和测试APP 运行测试 总结 在上一篇笔记中,学习编写了基于设备树的LED驱动,但是驱动的本质还是没变,都是配置LED灯 所使用的GPIO寄存器,驱动开发方式和裸机基本...
int gpio_cansleep(unsigned gpio); 如果返回非0值,那么是可以睡眠的 访问这样的GPIO口,又重新定义了一套方式,如下所示 /* GPIO INPUT: return zero or nonzero, might sleep */ int gpio_get_value_cansleep(unsigned gpio); /* GPIO OUTPUT, might sleep */ void gpio_set_value_cansleep(unsigned gpi...
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...
intgpio_export_link(struct device *dev, const char *name, unsignedgpio) //创建到导出GPIO的 sysfs link ,第一个参数是在哪个dev下创建,第二个是参数名字,第三个是gpio编号 中断部分的API: static inlineint gpio_to_irq(unsigned gpio) 例8:gpioToIrq = gpio_to_irq (RK29_PIN0_PA0);//把GPIO0...
•与gpio子系统的交互 •实现 pin 中断 2.2 相关术语介绍 表 2-1: Pinctrl 模块相关术语介绍 2.3 总体框架 Sunxi Pinctrl 驱动模块的框架如下图所示,整个驱动模块可以分成 4 个部分:pinctrl api、pinctrl common frame、sunxi pinctrl driver,以及 board configuration。(图中最上面一层 device driver 表示...
GPFUP 位 描述 GPF[7:0] [7:0] 0:向相应端口管脚赋予上拉(pull-up)功能 1:取消上拉功能 为了驱动LED和蜂鸣器,首先通过端口配置寄存器将5个相应寄存器配置为输出模式。然后通过对端口数据寄存器的写操作,实现对每个GPIO设备的控制(发亮或发声)。在下一个小节中介绍的驱动程序中,s3c2410_gpio_cfgpin()...
下面是内核代码提供的操作gpio寄存器的一些接口: 1. 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);...
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) ...
GPFUP 位 描述 GPF[7:0] [7:0] 0:向相应端口管脚赋予上拉(pull-up)功能 1:取消上拉功能 为了驱动LED和蜂鸣器,首先通过端口配置寄存器将5个相应寄存器配置为输出模式。然后通过对端口数据寄存器的写操作,实现对每个GPIO设备的控制(发亮或发声)。在下一个小节中介绍的驱动程序中,s3c2410_gpio_cfgpin()函数和s3c...