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按钮之后,执行结果如下:
可以看到档案的上次修改时间已被更新。
这个范例里我们并未使用一些外部取得当下时间的方式,使用者可以决定取得时间的方式(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);
Copyrights ©瑞晟微电子(苏州)有限公司 2021. All rights reserved. 使用条款