Ameba Arduino: [RTL8195] SDIO – 更新SD Card裡,檔案的上次修改時間

材料準備

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

範例說明

在之前的範例裡,我們新增的資料夾與檔案,如果在電腦上的讀卡機上,可以看到它們的上次修改時間都是一樣的。這是因為Ameba沒有取得當下的時間資訊,所以填入的時間值是預設值。如果我們想更新上次修改時間,可以參考這個範例。
我們打開範例 “File” -> “Examples” -> “AmebaSdFatFs” -> “last_modified_time”
編譯並上傳至Ameba之後,按下Reset按鈕之後,執行結果如下:
1可以看到檔案的上次修改時間已被更新。
這個範例裡我們並未使用一些外部取得當下時間的方式,使用者可以決定取得時間的方式(Ex. NTP, RTC, …)

程式碼說明

關於SD Card初始化與新增檔案的部份可以參考之前的範例
要更新檔案的上次修改時間,可以使用setLastModTime()。第一個參數是檔案的絕對路徑,接下來的六個參數是年、月、日、時、分、秒。

fs.setLastModTime(absolute_filename, year, month, date, hour, minute, second);

取得上次的修改時間的方式也很類似,使用getLastModTime()

fs.getLastModTime(absolute_filename, &year, &month, &date, &hour, &minute, &second);