电子说
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;
}
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !