瑞芯微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.mzph.cn/pingmian/70905.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SSL 证书是 SSL 协议实现安全通信的必要组成部分

SSL证书和SSL/TLS协议有着密切的关系&#xff0c;但它们本质上是不同的概念。下面是两者的区别和它们之间的关系的表格&#xff1a; 属性SSL/TLS 协议SSL证书英文全称SSL&#xff08;Secure Sockets Layer&#xff09;&#xff0c;TLS&#xff08;Transport Layer Security&am…

QT:模型视图代理

Qt Model/View/Delegate&#xff08;MVD&#xff09;框架&#xff0c;它是 Qt 中用于实现数据显示和编辑的一种架构模式&#xff0c;主要由模型&#xff08;Model&#xff09;、视图&#xff08;View&#xff09;和委托&#xff08;Delegate&#xff09;三部分组成&#xff0c;…

PowerShell 执行策略:fnm管理软件安装nodejs无法运行npm,错误信息:about_Execution_Policies

通过fnm管理软件安装NodeJS后添加环境变量依然无法执行npm,提示无法加载文件&#xff0c;错误如下&#xff1a; PowerShell 执行策略简介&#xff1a; PowerShell 执行策略是一项安全功能&#xff0c;用于控制 PowerShell 加载配置文件和运行脚本的条件。 此功能有助于防止恶…

drupal的翻译集添加后如何起作用

在 Drupal 中&#xff0c;翻译集&#xff08;Translation Set&#xff09;添加后&#xff0c;需要进行 正确的配置和激活 才能生效。以下是确保翻译集&#xff08;如界面翻译、内容翻译、配置翻译等&#xff09;生效的步骤&#xff1a; 1. 确保已启用多语言模块 在 Drupal 8/9…

利用 Windows Terminal 和 SSH Config 简化 Linux 服务器管理

在日常的 Linux 服务器管理中&#xff0c;频繁登录不同的主机是一项常见任务。传统方法可能需要记住复杂的 IP 地址、用户名和端口&#xff0c;或者依赖如 Xshell 这样的第三方工具。但借助 Windows Terminal 和 SSH 的 .ssh/config 文件&#xff0c;我们可以打造一个高效、免费…

【算法 位运算】801. 二进制中1的个数

题目 801. 二进制中1的个数 思路 定义lowbit函数&#xff0c;能够找到二进制最后一个1&#xff0c;找到最后一个1就删掉&#xff0c;计数加1&#xff0c;以此类推&#xff0c;直到找不到最后一个1。 代码 #include<iostream> using namespace std; int lowbit(int x…

DeepSeek-R1-671B大模型满血版私有化部署高可用教程-SparkAi系统集成图文教程

DeepSeek官网服务器繁忙的主要原因是由于用户数量激增导致的服务器资源紧张。‌为了解决这一问题&#xff0c;DeepSeek团队已经暂停了API服务充值&#xff0c;以避免对用户造成业务影响。目前&#xff0c;存量充值金额仍可继续调用&#xff0c;但充值功能暂时不可用‌。 DeepSe…

C++:指针数组与数组指针

文章目录 概述1. 什么是指针数组 (Array of Pointers)定义&#xff1a;示例&#xff1a;解释&#xff1a; 2. 什么是数组指针 (Pointer to Array)定义&#xff1a;示例&#xff1a;解释&#xff1a; 关键区别例子对比指针数组&#xff1a;数组指针&#xff1a; 总结 概述 指针…

StableDiffusion本地部署 2

StableDiffusion本地部署 为了做这个事&#xff0c;这是第5篇文章了&#xff0c;可谓是做足了准备。开干&#xff01; 强烈建议把我之前发的文章看一看&#xff0c;不然你会有点迷迷糊糊的。 整体思路 捋一捋思路&#xff1a; 下载三个东西&#xff0c;webui&#xff0c;py…

【项目管理】基于 C 语言的 QQ 聊天室实现(TCP + 多线程 + SQLite3)

基于 C 语言的 QQ 聊天室(TCP + 多线程 + SQLite3) 项目功能基础功能: 登录、注册、添加好友、私聊、创建群聊、群聊扩展功能: 删除好友、注销账号、好友在线状态、群管理(拉人/踢人)、VIP 特权、邮件通知等 功能介绍:模拟QQ聊天客户端:登录界面:1、登录2、注册 //将用…

无人机遥控器的亮度 和 两个工作频率

工作频率 2.4000-2.4835 GHz &#xff0c; 5.725-5.850 GHz 1.这是一个无人机的遥控器的两个工作频率&#xff0c;为什么会有两个工作频率&#xff1f; 无人机的遥控器采用双频段设计&#xff08;2.4GHz 和 5.8GHz&#xff09;&#xff0c;主要是为了解决以下问题并优化性…

drupal可以自动将测试环境的网页部署到生产环境吗

在 Drupal 中&#xff0c;自动将测试环境的网页部署到生产环境通常是通过设置合适的开发和部署流程来实现的。这种自动化部署过程通常涉及以下几个步骤&#xff1a; 1. 版本控制&#xff08;Git&#xff09; 为了保证测试环境和生产环境的一致性&#xff0c;首先需要使用 Git…

SOC-ATF 安全启动BL1流程分析(1)

一、ATF 源码下载链接 1. ARM Trusted Firmware (ATF) 官方 GitHub 仓库 GitHub 地址: https://github.com/ARM-software/arm-trusted-firmware 这是 ATF 的官方源码仓库&#xff0c;包含最新的代码、文档和示例。 下载方式&#xff1a; 使用 Git 克隆仓库&#xff1a; git…

《模拟器过检测教程:Nox、雷电、Mumu、逍遥模拟器 Magisk、LSposed 框架安装与隐藏应用配置》

一、夜神模拟器 (Nox) 过检测 使用版本&#xff1a;7.0.6.2&#xff08;20250209&#xff09; 1. 准备工作 将需要用到的应用放入文件夹&#xff1a; C:\Users\Administrator.DESKTOP-I5V50SS\Nox_share\Download 2. 安装面具鸭&#xff08;Magisk&#xff09; 在模拟器下…

.Net Core Visual Studio NuGet.Config 配置参考

Visual Studio 2022 NUGET NU1301 无法加载源 基础连接已关闭&#xff1a;无法建立SSL / TLS安全通道的信任关系&#xff1b;根据验证过程&#xff0c;远程证书无效&#xff0c;参考文章&#xff1a;https://blog.csdn.net/hefeng_aspnet/article/details/145780081 NuGet 行为…

同价位usb网卡与pcie网卡网速差距实测 热点测试

选用两款价位在75上下的网卡 2.4G usb&#xff1a; 2.4G pcie网卡&#xff1a; 5G PCIE 5G USB

DVWA -第二关-命令执行

这里是个ping命令的提交框 我们在输入ping命令的时候&#xff0c;同时执行其他命令操作 low 输入127.0.0.||ipconfig 消除乱码的方法&#xff1a;修改dvwaPage.inc.php文件中的”charsetutf-8”&#xff0c;修改”charsetGB2312” 可以显示出来&#xff0c;初级没有过滤 m…

通信方式汇总

在计算机网络和通信领域,通信方式指的是数据在网络中传输的方式和机制。不同的通信方式适用于不同的应用场景和需求。以下是几种常见的通信方式: 1. 同步通信与异步通信 同步通信: 数据传输是按固定时钟周期进行的,发送方和接收方需要保持同步。适用于需要严格时间同步的场…

类和对象——const修饰的类的对象和函数

const修饰的类的对象和函数 const成员函数和const对象1 const成员函数2 调用关系3 const在成员函数中的位置4 取地址&及const取地址操作符重载 const成员函数和const对象 1 const成员函数 将const修饰的“成员函数”称之为const成员函数&#xff0c;const修饰类成员函数&…

【DeepSeek-R1背后的技术】系列十三:归一化方式介绍(BatchNorm, LayerNorm, Instance Norm 和 GroupNorm)

【DeepSeek-R1背后的技术】系列博文&#xff1a; 第1篇&#xff1a;混合专家模型&#xff08;MoE&#xff09; 第2篇&#xff1a;大模型知识蒸馏&#xff08;Knowledge Distillation&#xff09; 第3篇&#xff1a;强化学习&#xff08;Reinforcement Learning, RL&#xff09;…