我有一个电池供电的 ESP32 项目,用于读取电表上的灯闪烁的频率。在我升级无线路由器上的固件之前,它一直可靠地工作。现在它运行了一次迭代,然后就不再醒来了。
ULP 程序计数使用光敏电阻来计算灯闪烁的频率并定期唤醒主程序。
主程序连接wifi并发送一个UDP报文,然后回到休眠状态。
我发现我可以更改三件事以使主程序可靠地唤醒,但这些都不是可接受的解决方案:
1. 指定不正确的 wifi 详细信息,以便 wifi 永远连接不上。
2. 取消发送UDP报文后对vTaskDelay的调用。这导致消息很少被发送。
3. 从 ULP 程序中删除所有重要功能,以便它除了在延迟后唤醒主程序外什么都不做。
这让我觉得存在一些微妙的计时错误或内存处理错误,但我已经花了几天时间解决这个问题,但一无所获。任何人都可以看到可能解释问题的错误吗?
2023-3-1 14:31:50
我从来没有弄清楚调用 vTaskDelay 有什么问题,所以现在我发送一个 ping 并等待响应。
我从来没有弄清楚调用 vTaskDelay 有什么问题,所以现在我发送一个 ping 并等待响应。
举报