繁体   English   中英

ESP32如何重置与PCNT一起使用的GPIO引脚,以便它们也可以用于从深度睡眠唤醒EXT1?

[英]ESP32 how to reset GPIO pins used with PCNT, so they can also be used for EXT1 wake up from deep sleep?

我将4个gpio引脚配置为脉冲计数器,以读取霍尔效应液体流量传感器,效果很好,但是当我尝试使用这些相同的引脚从深度睡眠中唤醒时,睡眠立即结束。 如果我不配置PCNT的引脚,深度睡眠将按预期工作。

我什至在RTC内存中设置了一个标志,使它休眠长达5秒钟,醒来并且在尝试重新进入睡眠之前未配置PCNT。 它仍然会立即从第二次睡眠中唤醒,因此在深度睡眠过程中,关于这些引脚的任何信息都会保留下来。

有没有一种方法可以恢复这些引脚的默认状态而无需重置整个器件?

答案是,将pcnt_config_t的两个* _gpio_num成员都设置为PCNT_PIN_NOT_USED并再次调用pcnt_unit_config:

pcnt_config_t pcnt_config = {
    .pulse_gpio_num = PCNT_PIN_NOT_USED,
    .ctrl_gpio_num = PCNT_PIN_NOT_USED,
    .channel = PCNT_CHANNEL_0;
}
pcnt_unit_config(&pcnt_config);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM