SD 函式库

SD 函式库实作对 86Duino MicroSD 插槽的 MicroSD 卡读取和写入资料的功能。SD 函式库支援 SD 和 SDHC 的 MicroSD 卡。格式化 MicroSD 卡时可以选择 FAT16 或是 FAT32,这两种档案系统都被支援。SD 函式库也支援同时开启多个档案。指定档案路径时,可以使用 / 说明位于资料夹下的档案,例如:资料夹名称1/资料夹名称2/档案名称.txt。SD 函式库预设的初始资料夹位址是根目录(也就是 /),因此 /档案名称.txt 和 档案名称.txt 这两个路径是相同的。

在使用 MicroSD 卡前必须先格式化成 FAT16 或是 FAT32。在这篇文章裡有说明以 MicroSD 执行韧体系统的优点。另外,您如果希望制作一片没有可开机磁区的 MicroSD 卡,让 86Duino 在插着 MicroSD 卡的前提下还能从板上内建的 Flash 开机,可参考此篇教学

SD 类别

SD 类别实作操作资料夹和档案的功能

begin()
exists()
mkdir()
open()
remove()
rmdir()

File 类别

File 类别实作读写 MicroSD 卡裡档案的功能

available()
close()
flush()
peek()
position()
print()
println()
seek()
size()
read()
write()
isDirectory()
openNextFile()
rewindDirectory()

范例

以下是 Arduino 使用 SD 函式库的范例,这些范例在 86Duino 上都可以正常运作(注:86Duino 上已经有 MicroSD 卡和网路线插槽,所以在实作下列范例的时候不需要 Ethernet shields 和 SD card shields):

Datalogger:把类比脚位的资料纪录在 MicroSD 卡裡
DumpFile:读取 MicroSD 卡裡的档案并且把读取的资料透过串列埠传输出去
Files:建立和删除 MicroSD 裡的档案
ReadWrite:对 MicroSD 卡裡的档案做读取和写入资料

Hack

在 86Duino 裡把 MicroSD 当作标准的硬碟处理并把磁碟机代号指定为 C:。因此要操控 MicroSD 裡的档案除了使用 SD 函式库也可以使用 C 语言提供来操控档案的函式,像是 fopen()fread() 这类操控档案的函式。在指定档案的路径时,必须遵循 DOS pathDOS 路径的标准。


函式库参考主页面

The text of the 86Duino reference is a modification of the Arduino reference, and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.