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
最后编辑:林晓燕 更新时间:2026-11-05 14:56