xt-sdk 文档 v1.0.3
xt-sdk 嵌入式 SDK API 参考
载入中...
搜索中...
未找到
ADC 按键检测

平台 目标 板子
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