| 平台 | 目标 | 板子 |
| lm620 | r4f4 | e837n_v01 |
演示通过 ADC 采样识别 6 个分压按键,含消抖算法和唤醒机制。
预期行为
**GPIO 唤醒**:
- 将 WAKEUP_PIN 配置为下降沿触发 + 唤醒源
- 按键按下时触发中断,ISR 向消息队列投递 tick 值
**消抖与识别**:
- adckey_task 从队列取到消息后,等待电容放电稳定
- 连续采样 ADC 值,跟踪最小值进行消抖
- 根据阈值数组匹配按键 ID(6 个按键对应 0V ~ 1.5V)
- 打印识别到的按键编号或无效按键
输出示例:
[adckey_task]: Key 3 pressed
[adckey_task]: Key 1 pressed
[adckey_task]: Invalid key
编译和运行
cd examples/platform_specific/lm620/e837n_adckey
xt --target lm620/r4f4 --board e837n_v01 fullclean build
注意事项
- 需要 6 个分压按键硬件电路(空闲电压约 1817 mV)
- 按键阈值需根据实际电阻分压校准
- 可通过 USE_NEGATIVE_ONLY_THRESHOLD_MODE 宏切换阈值模式
- 此示例不含睡眠模式,如需低功耗见 e837n_adckey_net_keepalive