首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AVR和FATFS多数据块读取

AVR和FATFS多数据块读取
EN

Stack Overflow用户
提问于 2020-10-11 21:03:59
回答 1查看 113关注 0票数 1

我正在使用atmega1284p,我需要从SD卡读取数据,并发送音频解码芯片我可以做到低比特率,更高的比特率单片机努力按时发送数据。关于我的研究实现了高比特率,文件可以读取多个块,读取第一个块后没有延迟。我分配了我的多块缓冲区,但不知道如何用ELM Chans FATFS库.Can F_read来做这件事,或任何其他建议。

EN

回答 1

Stack Overflow用户

发布于 2021-01-26 23:26:29

您必须告诉f_read(),您希望读取超过一个块大小的字节。

代码语言:javascript
复制
sect = clst2sect(fs, fp->clust);    /* Get current sector */
if (sect == 0) ABORT(fs, FR_INT_ERR);
sect += csect;
cc = btr / SS(fs);                  /* When remaining bytes >= sector size, */
if (cc > 0) {                       /* Read maximum contiguous sectors directly */
    if (csect + cc > fs->csize) {   /* Clip at cluster boundary */
        cc = fs->csize - csect;
    }
    if (disk_read(fs->pdrv, rbuff, sect, cc) != RES_OK) ABORT(fs, FR_DISK_ERR);
                
        ...

    }

这就是说,如果为f_read()提供的读取btr的字节数大于文件系统SS(fs)的扇区大小,则从块sect开始对cc块执行多数据块读取。

注:磁盘上的扇区类似于SD卡上的块。

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

https://stackoverflow.com/questions/64304315

复制
相关文章

相似问题

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