Ameba Arduino: [RTL8195] SDIO – 列出SD Card裡面的檔案

材料準備

  • Ameba x 1
  • SD card or MicroSD card x 1
  • SD sniffer x 1 (optional)

範例說明

這個範例裡會列出SD Card的根目錄底下所有檔案
我們打開範例 “File” -> “Examples” -> “AmebaSdFatFs” -> “list_root_files”
編譯並上傳至Ameba之後,按下Reset按鈕之後,執行結果如下
1可以發現 “0:/”的目錄底下只有 test.txt這個檔案。
可以發現到Ameba掛載的磁碟名稱是從數字0開始。

程式碼說明

一開始需要對SdFatFs做初始化

fs.begin();

接著呼叫 readDir(),將根目錄底下所有檔案列表以字串格式放在buffer裡。第一個參數是要讀取的目錄的絕對路徑,這裡我們填根目錄,第二個參數是buffer,第三個參數是buffer的大小

fs.readDir(fs.getRootPath(), buf, sizeof(buf));

buffer的資料格式如下,每個檔案中間以 ‘\0’ 隔開,所以我們一一將結果讀出來
2