• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

读写SD卡问题

d1cc486f1a3386f4 2019-02-27 浏览量:727
在读写SD卡的时候获取SD卡总容量和文件大小方面都是错的,但是如果是小文件比如20KB的就可以正确获取文件大小并能准确读出文件里的数据。文件大了就不能获取真实大小,但是读出的数据时对的!只不过数据读不全
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 我来说几个可能的原因吧:

    1、你的SD卡本身是扩容卡,读取文件分区时得到的信息很有可能是错误的。

    2、你说文件大了不能获得真实长度,那么具体是多大呢?会不会是分区格式的原因?

    3、数据读取不全,这个看起来原因可能很多,比如读取速率过高、本身文件已损坏、卡的质量不行。。。

    • 发布于 2019-02-27
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:10
  • 缓冲设小了或者超过了程序可检索的最大值
    • 发布于2019-02-27
    • 举报
    • 评论 0
    • 1
    • 0

  • 建议还几张卡试试,或者修改一下缓冲吧!参考下原子的读卡程序!
    • 发布于2019-02-27
    • 举报
    • 评论 0
    • 1
    • 0

  • 获取SD卡总容量和文件大小方面是错的,应该是卡有问题,或者不兼容等,往后的操作都是不确定的不可靠的。就算对也不是保证一定对的。

    • 发布于2019-02-28
    • 举报
    • 评论 0
    • 1
    • 0

  • 卡的基本信息都不对,但是可以读写文件,那么应该是你卡的问题了,卡是不是被改写过信息啊
    • 发布于2019-02-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个是你缓存的空间不够大,试试调节堆栈大小看看,把堆区空间调大一点。

    • 发布于2019-02-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 如果你用的是fatfs,那有可能是fatfs的堆栈空间不够,此外,STM32在驱动某些SD卡的时候可能会有异常,可以尝试换一张别的类型的卡
    • 发布于2019-02-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 有可能是扩容卡,或者读取堆栈不够大
    • 发布于2019-03-01
    • 举报
    • 评论 0
    • 0
    • 0

  • 感觉是读取堆栈不够大,可以试试设置大一些
    • 发布于2019-03-01
    • 举报
    • 评论 0
    • 0
    • 0

  • 可能是你文件系统中分出来缓存的大小太小了,读取不了这么大的数据
    • 发布于2019-03-16
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

读写SD卡问题