1. EASY EAI Nano按键资源介绍
EASY EAI Nano的可以选择RECOVER按键作为功能按键如下图所示。

2. evtest工具测试按键事件
2.1 安装evtest工具
在板子联网的情况下,在EASY EAI Nano执行以下指令安装工具:
sudo apt-get update
sudo apt-get install evtest

2.2 基于evtest工具测试
执行evtest指令后选择event number输入1,点击“RECOVER”按键触发事件。如下图所示:

3. 例程快速上手
3.1 开发环境准备
如果您初次阅读此文档,请阅读《入门指南/开发环境准备/Easy-Eai编译环境准备与更新》,并按照其相关的操作,进行编译环境的部署。
在PC端Ubuntu系统中执行run脚本,进入EASY-EAI编译环境,具体如下所示。
cd ~/develop_environment
./run.sh

3.2 源码下载与例程编译
到【百度网盘】上下载相关的单例程序:
链接:https://pan.baidu.com/s/1C5mKwq8yLUSg9ztmvs3kHQ
提取码:1234

进入到对应的例程目录执行编译操作,具体命令如下所示:
cd gpiokey_process/
./build.sh
cp gpiokey-process /mnt/userdata/
注:
* 由于依赖库部署在板卡上,因此交叉编译过程中必须保持adb连接。
生成可以执行文件,而且复制到板子上:

3.3 例程运行
通过按键Ctrl+Shift+T创建一个新窗口,执行adb shell命令,进入板卡运行环境。
adb shell

进入板卡后,定位到例程上传的位置,如下所示:
cd /userdata/
运行例程命令如下所示:
./gpiokey-process
3.4 运行效果
执行效果如下所示,点击RECOVER按键触发事件。

本例程源码,详细信息见下方说明。
4. 按键测试例程
例程文件为gpiokey_processing.c,参考例程如下所示。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
#include <linux/input.h>
#define GPIOKEY_EVENT_PATH "/dev/input/event1"
int main(void)
{
int gpiokey_fd;
int event_len;
struct input_event event;
gpiokey_fd = open(GPIOKEY_EVENT_PATH, O_RDONLY);
if(gpiokey_fd < 0)
{
perror("open gpiokey_event error");
return -1;
}
event_len = sizeof(struct input_event);
for(;;)
{
if(read(gpiokey_fd, &event, event_len) == event_len)
{
if(event.type == EV_KEY)
{
if(event.value==0)
{
printf("%s key up!\n", GPIOKEY_EVENT_PATH);
}
else if(event.value==1)
{
printf("%s key down!\n", GPIOKEY_EVENT_PATH);
}
}
}
}
return 0;
}
549

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



