"); //-->
触觉智能分享,瑞芯微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 -l
add 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即可触发,如下所示:
当成功返回键值即可测试成功。
产品简介
作为开源鸿蒙OpenHarmony硬件方案的领跑者,触觉智能坚守开源共创精神,Purple Pi OH鸿蒙开发板源码全开放,持续为大家带来各种技术分享,产品具有以下优势:
支持OpenHarmony/Andriod/Linux
多操作系统,兼容树莓派排针;
瑞芯微RK3566芯片,四核A55处理器,
主频1.8GHz,Mali G52-2EE GPU;
支持OpenGL/CL/Vulkan,8M ISP;
1T算力NPU,支持TensorFlow/Caffe/
MXNet/PyTorch等深度学习框架;
支持1 x 千兆以太网、3 x USB2.0
1 x USB3.0、3 x UART、2 x SPI
2 x I2C、28 x GPIO、1 x MIPI DSI
1 x MIPI CSI、1 x HDMI;
率先支持OpenHarmony5.0/4.1/4.0/
3.2,开放SDK源代码、3D打印外壳;
活跃的开发者社区, 更多牛人在线互动
与技术支持;
超小尺寸,超高性价比,只需249元;
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。