Arduino--SD卡官方库官方文档

官方:https://www.arduino.cc/en/Reference/SD

SD库

 SD库允许在SD卡上读写,例如在Arduino Ethernet Shield上。它是建立在sdfatlib威廉Greiman。该库在标准SD卡和SDHC卡上支持FAT16和FAT32文件系统。它对文件使用短8.3名称。传递到SD库函数的文件名可以包含用斜杠/分隔的路径,例如“ directory / filename.txt”。由于工作目录始终是SD卡的根目录,因此无论文件名是否包含前导斜杠,其名称都指向同一文件(例如,“ / file.txt”等效于“ file.txt”)。从1.0版开始,该库支持打开多个文件。

 微控制器和SD卡之间的通信使用SPI,它发生在数字引脚11、12和13(在大多数Arduino板上)或50、51和52(Arduino Mega)上。此外,必须使用另一个引脚来选择SD卡。这可以是硬件SS引脚-引脚10(在大多数Arduino板上)或引脚53(在Mega上)-或在SD.begin()调用中指定的另一个引脚。 请注意,即使您不使用硬件SS引脚,也必须将其保留为输出,否则SD库将无法工作。

SD 类

SD类提供用于访问SD卡并处理其文件和目录的功能。
函数:

函数名解释用法参数返回值
begin()初始化SD库和卡。这开始使用SPI总线(大多数Arduino板上的数字引脚11、12和13; Mega上的50、51和52)和芯片选择引脚,默认为硬件SS引脚(大多数Arduino上的引脚10)板,在Mega上为53)。请注意,即使您使用其他芯片选择引脚,也必须保留硬件SS引脚作为输出,否则SD库功能将不起作用。SD.begin()
SD.begin(cspin)
cspin(可选):连接到SD卡芯片选择线的引脚;默认为SPI总线的硬件SS线成功返回true; 失败返回false
exists()测试SD卡上是否存在文件或目录。SD.exists(filename)filename:要测试存在性的文件的名称,其中可以包含目录(以正斜杠/分隔)如果文件或目录存在则为true,否则为false
mkdir()在SD卡上创建目录。这还将创建任何尚不存在的中间目录。例如SD.mkdir(“ a / b / c”)将创建a,b和c。SD.mkdir(filename)filename:要创建的目录的名称,子目录之间用正斜杠(’/’)如果目录创建成功,则返回true;否则,返回false
open()打开SD卡上的文件。如果打开该文件进行写入,则将在尚不存在该文件的情况下创建该文件(但是包含该文件的目录必须已经存在)。SD.open(filepath)
SD.open(filepath, mode)
filename:要打开的文件的名称,其中可以包含目录(以正斜杠/分隔)-char *
模式(可选):打开文件的模式,默认为FILE_READ- byte。之一:
FILE_READ:从文件开头开始打开文件进行读取。
FILE_WRITE:从文件末尾开始打开文件进行读写。
引用打开的文件的File对象;如果无法打开文件,则此对象在布尔上下文中将评估为false,即,您可以使用“ if(f)”测试返回值。
remove()从SD卡中删除文件。SD.remove(filename)filename:要删除的文件的名称,其中可以包含目录(以正斜杠/分隔)如果成功删除文件,则为true,否则为false。(如果文件不存在,则返回值未指定)
rmdir()从SD卡中删除目录。该目录必须为空。SD.rmdir(filename)filename:要删除的目录的名称,子目录之间用正斜杠(’/’)如果删除目录成功,则返回true;否则,返回false。(如果目录不存在,则返回值未指定)

File 类

File类允许读取和写入SD卡上的单个文件。

函数名解释用法参数返回值
name()返回文件名file.name()
available()检查是否有任何字节可用于从文件读取。available()从Stream实用程序类继承。file.available()file:File类的实例(由SD.open()返回)可用字节数(int)
close()关闭文件,并确保将写入其中的所有数据物理保存到SD卡。file.close()file:File类的实例(由SD.open()返回)
flush()确保写入文件的所有字节都物理保存到SD卡。关闭文件时,此操作自动完成。flush()从Stream实用程序类继承。file.flush()file:File类的实例(由SD.open()返回)
peek()从文件中读取一个字节,而无需前进到下一个字节。也就是说,对peek()的连续调用将返回相同的值,与对下一个read()的调用相同。peek()继承自Stream实用程序类。file.peek()file:File类的实例(由SD.open()返回)返回值:下一个字节(或字符);如果没有可用字节,则为-1。
position()获取文件中的当前位置(即,下一个字节将被读取或写入的位置)。file.position()file:File类的实例(由SD.open()返回)文件中的位置(unsigned long))
print()将数据打印到文件中,该文件必须已打开才能进行写入。将数字打印为数字序列,每个数字为一个ASCII字符(例如,数字123作为三个字符“ 1”,“ 2”,“ 3”发送)。file.print(data)
file.print(data, BASE)
file:File类的实例(由SD.open()返回)
data:要打印的数据(char,byte,int,long或string)
BASE(可选):打印数字的基数:BIN(二进制)(基数2),DEC(十进制)(基数10),OCT(八进制)(基数8),HEX(十六进制)(基数16)。
print()将返回写入的字节数,尽管读取该数字是可选的
println()
seek()
size()
read()
write()
isDirectory()
openNextFile()
rewindDirectory()
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值