开源改变世界!!

SD卡写入问题 #20

推推 grbl 2年前 (2023-02-12) 337次浏览
关闭
aik3n 打开了这个问题 2020 年 7 月 28 日 · 3条评论
关闭

SD卡写入问题#20

aik3n 打开了这个问题 2020 年 7 月 28 日 · 3条评论

评论

SD卡写入问题 #20

你好,首先请你的工作和你的努力。
我在上传文件时遇到问题,“sdcard 保护?” Web 界面上出现消息,我看过代码,但对我来说很难,我看到如果有同名文件,它会先删除它们,而且它没问题,但有一些问题写入文件,sd 卡是 sd hc 4gb fat32 格式,我检查了接线,似乎是正确的,当我从 sd 下载文件时它工作正常。
有什么建议吗?

提前致谢

SD卡写入问题 #20
所有者

该问题与所使用的 SDFat 版本有关。

在文件 browser.cpp 中,您当前有以下几行。

#define MS_WRITE 0b00010101 // 我们必须定义它来打开文件,因为 ESP32 和 SdFat lib 之间存在关于打开 cmd 中使用的代码的冲突
// 这是 SdFat 在 1.1.0 版本中用于读取的值,写入、创建、at_end

//#define MS_WRITE 0b1100011 // 我们必须定义它来打开文件,因为 ESP32 和 SdFat lib 之间存在关于打开 cmd 中使用的代码的冲突
// 这是 SdFat 在版本 1.0.7 中使用的值

如果您使用 SdFat 1.0.7 或更高版本,您应该将第一个#18定义为注释并激活第二个 #define
所以,您应该:
//#define MS_WRITE 0b00010101 // 我们必须定义它才能打开文件,因为ESP32和SdFat lib之间关于在open cmd中使用的代码有冲突
// 这是SdFat在1.1.0版本中用于读取、写入、创建、at_end的值

#define MS_WRITE 0b1100011 // 我们必须定义它来打开文件,因为 ESP32 和 SdFat lib 之间存在关于打开 cmd 中使用的代码的冲突
// 这是 SdFat 在版本 1.0.7 中使用的值

SD卡写入问题 #20
作者

再一次问好,

感谢您提供的信息,我已经能够解决问题,我安装了 1.1.4 版,但没有任何选项运行良好,我安装了 1.1.0 版,一切正常。

此致,

SD卡写入问题 #20

你好!
我有 1.1.4 版,也有同样的错误。
我将文件 browser.cpp 中第 18行的值更改为值 0b01010101(现在它看起来像#define MS_WRITE 0b01010101),看起来一切正常!