第128章 GPIO入门实验 128.1 什么是GPIO GPIO是干什么的呢?从字面意思来看,GPIO=General-Purpose Input/Output(通用输入输出),是一种软件运行期间能够动态配置和控制的通用引脚。通用,就是说它是万金油,干什么都行。输入输出,就是说既能当输入口使用,又能当输出口使用。端口,就是元器件上的一个引脚。 所有的 GP...
gpiod_direction_input 将给定的GPIO描述符所代表的GPIO配置为输入模式。而 gpiod_direction_output 将GPIO配置为输出模式,并可以指定初始输出值。 3读取GPIO的电平状态函数: (1)函数原型: int gpiod_get_value(const struct gpio_desc *desc); (2)头文件: #include <linux/gpio/consumer.h> (3)参数: desc...
二、rk3568GPIO控制器驱动 1. gpio相关api Linux内核GPIO主要实现文件: GPIO子系统有两套API: 基于描述符(descriptor-based) 前缀为: 参考: 老版本接口(legacy) 前缀为: 参考: API对比: 2. rk3568 GPIO控制器驱动 GPIO控制器驱动实现文件: gpio涉及主要函数: 三、gpio驱动编写实例 下面以实际项目中的一个应用...
果要+1000,所以 GPIO4B3 如果是 linux4.4 内核里要填 1139。 intgpiod_direction_output(structgpio_desc *desc,intvalue){if(!desc || !desc->chip) { pr_warn("%s: invalid GPIO\n", __func__);return-EINVAL; } +if( desc_to_gpio(desc) ==1139) + { + printk("dump_stack_start\n");...
(2) 绿色LED: GPIOZ_2 (3) 黄色LED: GPIOZ_1 (4) GND接地 3.2 LED模块 • 如下4个PIN脚,分别连接至开发板的4个引脚 四、源码解析 4.1 DTS设备树 aml_led_class{ status = "okay"; compatible = "szhou,aml_led_class"; /* * (1) amlled-gpios 是使用新版GPIO子系统API的固定写法,必须以 ...
在迅为RK3568开发板上有一组GPIO,可以用来外接各种外设模块,从面实现一系列好玩的功能,一起来看看各个模块合集吧 RFID模块: 工作电流:13—20mA/直流3.3V 空闲电流:10-13mA/直流3.3V 休眠电流:<80UA 峰值电流:<30mA 工作频率:13.56MHz 支持的卡类型:mifare1 S50.mifare1 S70. mifare UltraLight mifare Pro ...
1.使用传统方法,直接操作gpio控制器的寄存器(使用此方法不用做前面这些步骤) 2.在设备树中自定义gpio信息,使用dm驱动模型框架获取设备树中的gpio信息,并最终调用dm框架定义的gpio操作函数! 显然,我们使用了第二种方法:这样就可以将gpio控制器和要使用的gpio的信息糅合起来在uboot中使用,因此我们在 / 节点下定义如下...
在这里将GPIO接口的网络标号和相应的引脚描述进行了整理,如下表所示: 丰富的扩展能力,不止这些! 只讲GPIO扩展如何丰富,不讲使用案例那岂不是耍流氓?针对这20PIN引脚的扩展,我们给大家做了非常多的例子,如通用GPIO、RFID、0.96寸OLED屏幕、矩阵键盘步进电机串口、HX711称重模块、GPS等等。而且也给大家提供了非常丰富的...
在迅为RK3568开发板上有一组GPIO,可以用来外接各种外设模块,从面实现一系列好玩的功能,一起来看看各个模块合集吧 RFID模块:工作电流:13—20mA/直流3.3V空闲电流:10-13mA/直流3.3V休眠电流:<80UA峰值电流:<30mA工作频率:13.56MHz支持的卡类型:mifare1 S50.mifare1 S70.mifare UltraLight mifare Pro ...
RK3568的GPIO引脚计算公式如下 GPIO Pin = bank * 32 + number bank是分组,number是编号。number计算如下 number = group * 8 + X group是小组号,分别为Group A,Group B,Group C,Group D组。起始序号为0,依次类推。 X是序号。 下面以GPIO4_D5来举例 ...