我配置了4个gpio引脚作为脉冲计数器,以读取霍尔效应液体流量传感器,这工作得很好,但当我尝试使用这些引脚从深度睡眠中唤醒时,睡眠立即结束。如果我没有为PCNT配置引脚,深度睡眠将按预期工作。
我甚至在RTC内存中设置了一个标志,使其睡眠长达5秒,唤醒,并且在尝试返回睡眠之前不配置PCNT。它仍然会立即从第二次睡眠中唤醒,所以无论这些针脚是什么,它都会在深度睡眠中保留下来。
有没有办法在不重置整个设备的情况下恢复这些引脚的默认状态?
发布于 2019-01-28 22:41:22
答案是,将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);https://stackoverflow.com/questions/54316980
复制相似问题