首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Fatfs中使用f_read()和f_lseek()

无法在Fatfs中使用f_read()和f_lseek()
EN

Stack Overflow用户
提问于 2018-01-08 06:21:36
回答 1查看 1.2K关注 0票数 0

我试图连接到一个2GB的sd卡类6与stm32f091cctx单片机通过SPI。使用fatFs库ver。R0.13a我能够挂载驱动器并使用f_mount和f_open函数打开文件。但是当涉及到读取文件时,它只是冻结在f_read函数中的某个地方。同样,当我试图用f_lseek改变指针的位置时,它也会冻结。只有当我将f_lseek写为: f_lseek(&MyFile,0)时,它才能工作。我的代码的这一部分如下:

代码语言:javascript
复制
if(FATFS_LinkDriver(&SD_Driver, SDPath) == 0)
{
    f_mount(&SDFatFs, (TCHAR const*)SDPath, 1);
    f_open(&MyFile, "SAMPLE1.WAV", FA_READ);
    f_lseek(&MyFile, 200);
    f_read(&MyFile, rtext, 1000, (UINT*)&bytesread);
}
EN

回答 1

Stack Overflow用户

发布于 2018-03-19 12:01:08

您可能耗尽了堆大小,然后转到HardFault异常。

可以通过CubeMX ->项目设置或直接从**_startup.s文件增加堆大小。

PS:在HardFault_Handler和Error_Handler函数中打印一些东西,以查看什么地方出错了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48145176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档