本篇教程基于ShiMetaPi 研发的FPGA+ARM开发板——GM-3568JHF展开。

一、案例简介
本案例通过监听用户输入按键 UBOOT的状态,检测按键事件。案例将获取按键事件后进行按键键值匹配,再进行事件处理。 如需测试其他按键,请修改对应的设备节点以及源码。
本案例使用的UBOOT按键的为下图红框处的按键。

二、操作流程
- 打开终端,使用
evtest命令查看 UBOOT 按键对应的事件设备节点,UBOOT 按键对应的是"adc-keys"。该命令可在任意路径下执行。
root@linaro-alip:/# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: rk805 pwrkey
/dev/input/event1: hdmi_cec_key
/dev/input/event2: adc-keys
/dev/input/event3: rk-headset
/dev/input/event4: SIGMACHIP Usb Mouse
从查询结果可见,UBOOT 按键对应的事件设备节点是 event2。
- 将本案例
bin目录下的可执行程序smdt_key_demo拷贝至开发板文件系统(源码可在src路径下查看)。
在终端执行如下指令,切换至 smdt_key_demo 可执行程序所在目录:
cd /path/to/directory
切换后可执行指令 ls 查看 smdt_key_demo 是否在当前目录下。
- 若
smdt_key_demo存在于当前目录,则继续执行以下操作。输入以下指令,修改文件权限:
chmod 777 smdt_key_demo
修改权限后可输入以下指令查看是否修改成功:
ls -l smdt_key_demo
执行结果示例:
-rwxrwxrwx 1 root root 13824 Mar 4 01:22 smdt_key_demo
-rwxrwxrwx 表示权限已成功修改,文件可被执行。
- 输入以下指令,查看程序参数信息(注意:
event2需根据前面evtest命令查询结果相应更改):
./smdt_key_demo -h
-
运行程序并测试按键(将
event2替换为实际设备节点):
./smdt_key_demo -d /dev/input/event2
按下开发板 UBOOT 按键,程序将检测到按键事件并打印状态信息。
测试效果如下:
root@linaro-alip:/# ./key_demo -d /dev/input/event2 Waiting for button press... Button pressed! Button pressed! Button pressed!

1783

被折叠的 条评论
为什么被折叠?



