0

我正在开发一种电池供电的设备,当传感器开关变高时会唤醒。现在我还需要设备返回休眠模式并等待传感器开关变低。我正在使用 ESP-IDF。我已经配置了 ext_1 唤醒引脚。设备按预期唤醒。

问题是该引脚设置为在变高时唤醒。当设备重新进入睡眠状态时,该引脚仍将处于高电平,我想检测它何时变为低电平。我的第一个想法是反转引脚 - 低读高。我在 ESP-IDF 中看不到这样做的方法。

我不想为此使用 ULP,因为它在睡眠中消耗了太多电流。

4

2 回答 2

0

根据gpio_wakeup_enable() 文档GPIO_INTR_LOW_LEVEL,您可以通过指定或GPIO_INTR_HIGH_LEVEL作为参数的值来请求从低或高 GPIO 值的轻度睡眠中唤醒intr_type

于 2021-01-23T16:09:54.807 回答
0

如果您使用单个引脚唤醒,只需在返回睡眠之前将电平更改为 ESP_EXT1_WAKEUP_ALL_LOW。如果您需要在多个引脚中的任何一个变为低电平时唤醒它,和/或需要它在多个唤醒引脚处于混合状态时休眠,ULP 是我想出的唯一选择。问题不仅仅是让它在任何低电平时唤醒,当任何一个高电平时它都不会重新进入睡眠状态——根据定义,只有 ESP_EXT1_WAKEUP_ANY_HIGH 是唯一的其他 ext1 级别选择。

于 2021-01-23T21:40:16.237 回答