2017-10-08 194 views
0

我在stm32上使用fatfs,我想找到使用f_open函數打開的文件的第一個 扇區的地址。因此,我可以使用該扇區地址 使用 可用的低級DMA方法作爲地址偏移來訪問文件。 如何獲取磁盤上文件的原始地址?FATFS:如何獲取文件的第一個扇區的地址?

回答

1

在Chan的FatFS中,您可以知道文件啓動集羣,它在fp->sclust變量中。您可以通過以下表達式瞭解簇大小:clusterSize = fp->fs->csize * SS(fp->fs);,您還可以使用功能clust2sect(fp->fs, fp->clust)。 您可以觀看Diskio_drvTypeDef.disk_read的實施,瞭解如何轉換爲地址。

+0

實際上,只要沒有讀取該文件(否則它在'fp-> clust'中),文件的起始簇就在'fp-> obj.sclust'中 – crizztus