完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在开发的应用程序,我正在尝试使用以下方法将 WiFi 凭据保存在 SPI 文件系统上:
void ApplicationSettingsStorage::saveFunction(void *参数) { Serial.println("Saving settings..."); const String json=getJson(false, true); // Passwords are saved, timestamps are updated on every save. Serial.println(json); /* * Excluded reasons for bug: * - NON-NULL Terminated String: I've explicitliy added "�" to json variable before saving it to file, * same result, random reset * - Memory corruption: 文件集内容(APP_SETTINGS_FILE, json); // BUG: Here occurs random reset !!! } // saveFunction 现在,呼叫文件集内容力整个 ESP-WROOM-02有时要重置在随机场合。为什么? |
|
相关推荐
1个回答
|
|
ESP-WROOM-02模块重置的原因可能有多种。在您的情况下,使用Sming框架的FileSetContents函数可能会导致重置。以下是一些可能的原因和解决方案:
1. **文件系统空间不足**:如果SPI文件系统的空间不足,尝试写入文件可能会导致模块重置。请确保您的文件系统有足够的空间来存储WiFi凭据。 2. **文件写入错误**:在写入文件时,可能会遇到错误,如文件不存在或权限问题。请检查您的代码,确保文件路径和权限正确。 3. **SPI闪存磨损**:SPI闪存具有有限的写入次数。如果频繁写入同一位置,可能会导致模块重置。尝试优化您的代码,减少不必要的写入操作。 4. **电源不稳定**:如果电源不稳定,可能会导致模块重置。确保您的电源供应稳定,以避免这种情况。 5. **代码逻辑问题**:检查您的代码逻辑,确保在调用FileSetContents函数之前,已经正确初始化了SPI文件系统和相关资源。 6. **Sming框架问题**:如果您怀疑是Sming框架的问题,可以尝试更新到最新版本,或者在Sming社区寻求帮助。 为了解决这个问题,您可以尝试以下方法: 1. **优化代码**:确保您的代码逻辑正确,减少不必要的写入操作。 2. **检查文件系统空间**:确保SPI文件系统有足够的空间来存储WiFi凭据。 3. **使用异常处理**:在调用FileSetContents函数时,使用try-catch块来捕获可能的异常,并在出现异常时进行适当的处理。 4. **监控电源供应**:确保您的电源供应稳定,以避免模块重置。 5. **更新Sming框架**:如果您怀疑是Sming框架的问题,请尝试更新到最新版本。 |
|
|
|
只有小组成员才能发言,加入小组>>
409浏览 6评论
341浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
324浏览 5评论
326浏览 4评论
311浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-18 21:14 , Processed in 0.676028 second(s), Total 76, Slave 61 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号