4. ADC 按键输入实战

实验目的

学习 Linux 输入子系统(Input Subsystem)的应用层开发,掌握如何捕获硬件按键事件并映射为业务逻辑。

硬件与底层说明

本开发板配备了基于 GPADC(模数转换)的按键组。通过底层 evtest 验证,按键上报的键值为 KEY_VOLUMEDOWN (114) 和 KEY_VOLUMEUP (115)。

源码解析

配套的 key_demo.c 利用 select() 监听 /dev/input/eventX 设备,并通过 read() 读取 struct input_event。当检测到 buf.code 为 114 或 115 且 buf.value == 1(按下)时,打印对应的按键信息。

请在网盘 软件资料/demo/base-demos/key_demo/src 目录下获取。

交叉编译与传输

make clean
make CC=arm-linux-gnueabihf-gcc
scp key_demo root@192.168.5.10:/root/

运行程序

cd /root
chmod +x key_demo
./key_demo -d /dev/input/event0

正常现象

终端提示 Please press the key to test.。依次按下开发板上的两个 ADC 按键,终端将成功打印

作者:林晓燕  创建时间:2026-10-22 11:56
最后编辑:林晓燕  更新时间:2026-11-05 14:56