完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
idf版本ESP-IDF v4.2-dev-1304-gaeff546-dirty,芯片ESP32-WROVER-B
用spi连接sd卡,pin管脚用的是12131415,速度20M 挂载和基本的文件操作没有问题,但是在连续写入时(用的是i2s例程,大约每100ms左右写入10k byte)。 结果发现经常写了2~3M数据就出错了。尝试了更低的速度,结果变得更差。有时会在写了十几k就出错,问题可能出现在哪里? receive message from the queue. have written 4194304 bytes to sd card. |
|
相关推荐
1个回答
|
|
0x109错误通常是由于SD卡在传输过程中出现错误。在您的情况下,可能的原因有以下几点:
1. **SD卡质量**:低质量或损坏的SD卡可能导致数据传输错误。尝试更换一张新的、高质量的SD卡。 2. **SPI速度**:虽然您已经尝试降低速度,但可能仍然存在不兼容的问题。尝试使用不同的SPI速度,例如10MHz或5MHz,看看是否有所改善。 3. **电源稳定性**:不稳定的电源可能会影响SD卡的性能。确保您的电源供应稳定,并且ESP32-WROVER-B模块的电源输入满足要求。 4. **SPI引脚连接**:检查SPI引脚(12, 13, 14, 15)的连接是否牢固,以及是否有任何可能的接触不良或短路。 5. **代码问题**:检查您的代码,确保在写入数据时没有逻辑错误。例如,确保在写入之前正确地初始化了SD卡,并且在写入过程中没有超出SD卡的容量。 6. **ESP-IDF版本**:您使用的是ESP-IDF v4.2-dev-1304-gaeff546-dirty版本,这是一个开发版本,可能存在一些未解决的问题。尝试升级到最新的稳定版本,看看问题是否仍然存在。 7. **I2S例程**:您提到使用的是i2s例程,但您的问题是关于SPI SD卡。请确保您没有将I2S和SPI混淆,因为它们是不同的接口。 8. **内存问题**:您提到了“free heap size”,如果ESP32的内存不足,可能会导致写入错误。尝试优化您的代码,减少内存使用,或者增加堆大小。 9. **SD卡文件系统**:检查SD卡的文件系统是否正确。如果文件系统损坏,可能会导致写入错误。尝试重新格式化SD卡。 10. **硬件问题**:如果以上方法都不能解决问题,可能是ESP32-WROVER-B模块本身存在硬件问题。尝试使用另一块模块,看看问题是否仍然存在。 综上所述,您需要逐一排查这些可能的原因,以找到导致0x109错误的根本原因。 |
|
|
|
只有小组成员才能发言,加入小组>>
1132 浏览 1 评论
574浏览 6评论
477浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
461浏览 5评论
462浏览 4评论
435浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 23:54 , Processed in 0.623461 second(s), Total 47, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号