我将4个gpio引脚配置为脉冲计数器,以读取霍尔效应液体流量传感器,效果很好,但是当我尝试使用这些相同的引脚从深度睡眠中唤醒时,睡眠立即结束。如果我不配置PCNT的引脚,深度睡眠将按预期工作。
我什至可以在RTC内存中设置一个标志,以使其休眠长达5秒钟,然后唤醒,并且在尝试返回睡眠之前不配置PCNT。它仍然会立即从第二次睡眠中唤醒,因此在深度睡眠过程中,有关这些引脚的任何信息都将保留。
是否可以在不重置整个设备的情况下恢复这些引脚的默认状态?
答案 0 :(得分:0)
答案是,将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);