当前位置: 首页 > news >正文

瑞芯微RK安卓Android主板GPIO按键配置方法,触觉智能嵌入式开发

触觉智能分享,瑞芯微RK安卓Android主板GPIO按键配置方法,方便大家更好利用空闲IO!由触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,树莓派卡片电脑设计,支持安卓Android、开源鸿蒙OpenHarmony、Linux多系统,适合嵌入式开发入门学习。

设备树修改

  • 空闲IO选择

由下图可得当前IO是主板上一个没有用到的IO,对应的GPIO为:GPIO4_A4。

图片

  • 设备树配置

在Purple Pi OH官方代码中,设备树:ido-pi-oh3566-core.dtsi文件默认加了GPIO_KEY配置,所以我们默认不需要移植驱动,用官方提供的代码上添加自己的IO即可,配置代码如下:

gpio_keys: gpio_keys {        status = "okay";        compatible = "gpio-keys";        autorepeat;        pinctrl-names = "default";        pinctrl-0 = <&leds_keys_gpio>;+        key_sw1 {+            debounce-interval = <100>;+            gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_LOW>;+            label = "GPIO Key sw1";+            linux,code = <KEY_F1>;//键值+            // wakeup-source;+            gpio-key,wakeup;+        };}&pinctrl {+  gpio-keys {+    leds_keys_gpio: leds_keys-gpio {+      rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;//默认上拉+    };  };};

键值对应的文件位于以下目录,可按需求修改:

include/dt-bindings/input/rk-input.h
  • 修改完成后,进入内核目录单独编译内核

# ./mk_kernel.sh ido-pi-oh3566-v1.img -j4

编译成功后,会在当前目录下生成boot.img文件,最后进行内核烧录测试即可。

测试验证

通过调试串口或者ADB进入系统,执行getevent -l命令测试GPIO按键,命令如下:

130|console:/ # getevent -ladd device 1: /dev/input/event3  name:     "gpio_keys"add device 2: /dev/input/event1  name:     "rk805 pwrkey"add device 3: /dev/input/event2  name:     "adc-keys"add device 4: /dev/input/event0  name:     "fdd70030.pwm"add device 5: /dev/input/event4  name:     "rk-headset"

执行后,将GPIO4_A4对应的引脚短接到GND即可触发,如下所示:

图片

当成功返回键值即可测试成功。

http://www.lryc.cn/news/543476.html

相关文章:

  • Dify自定义工作流集成指南:对接阿里云百炼文生图API的实现方案
  • 前端项目配置 Nginx 全攻略
  • 基于开源鸿蒙(OpenHarmony)的【智能家居综合应用】系统
  • 电子电气架构 --- 主机厂电子电气架构演进
  • 物联网通信应用案例之《智慧农业》
  • Java注解的原理
  • AI知识架构之神经网络
  • OpenGL 04--GLSL、数据类型、Uniform、着色器类
  • 学习笔记06——JVM调优
  • 深度学习(3)-TensorFlow入门(常数张量和变量)
  • 3-2 WPS JS宏 工作簿的打开与保存(模板批量另存为工作)学习笔记
  • 【GO】学习笔记
  • 【TypeScript】ts在vue中的使用
  • 2025前端框架最新组件解析与实战技巧:Vue与React的革新之路
  • Elasticsearch 的分布式架构原理:通俗易懂版
  • 【DeepSeek】【GPT-Academic】:DeepSeek集成到GPT-Academic(官方+第三方)
  • 2.部署kafka:9092
  • 学习路之PHP --TP6异步执行功能 (无需安装任何框架)
  • Uniapp 小程序复制、粘贴功能实现
  • seacmsv9注入管理员账号密码+orderby+limit
  • 多通道数据采集和信号生成的模块化仪器如何重构飞机电子可靠性测试体系?
  • 天润融通分析DeepSeek如何一键完成从PR接入,到真正的业务接入
  • 免费PDF工具
  • PyTorch 源码学习:GPU 内存管理之它山之石——TensorFlow BFC 算法
  • 【学写LibreCAD】1 LibreCAD主程序
  • Android Studio超级详细讲解下载、安装配置教程(建议收藏)
  • CDN与群联云防护的技术差异在哪?
  • 故障诊断 | Matlab实现基于DBO-BP-Bagging多特征分类预测/故障诊断
  • Linux-SaltStack配置
  • 内网渗透测试-Vulnerable Docker靶场