Learning Examples | Foundations | Hacking | Links
示例 > SD 文件
使用 SD 库在 SD 卡上创建和删除文件
这个示例说明了怎样在 SD 卡上创建和删除文件。请点击这里获取 SD 库的更多信息。
硬件需求
- Arduino 开发板
- 以太网扩展板(Ethernet Shield),或其他具有 SD 插槽的扩展板
- 已格式化的 SD 卡
电路
代码
下面的代码适用于带有板载 SD 卡插槽的太网扩展板(Ethernet Shield)。在 setup()
函数中,SD.begin()
指定管脚 4 为 CS 管脚。程序中使用的管脚编号是根据你所使用的扩展板决定的。
在 setup()
函数中,使用 SD.open()
打开一个名为“example.txt”的新文件。FILE_WRITE
指明我们既可以读文件也可以写文件,从文件末尾开始读写。在例子中,我们在创建文件之后使用 myFile.close()
立即关闭文件。
使用 SD.exists()
检查文件确实存在之后,使用 SD.remove
从卡上删除文件。
/*
SD 卡基本文件操作示例
这个示例说明了怎样在 SD 卡上创建和删除文件
电路:
* SD 卡按如下方式连接到 SPI 总线
** MOSI - 管脚 11
** MISO - 管脚 12
** CLK - 管脚 13
** CS - 管脚 4
创建日期:Nov 2010
by David A. Mellis
修改日期:2 Dec 2010
by Tom Igoe
此示例代码完全公开
*/
#include <SD.h>
File myFile;
void setup()
{
Serial.begin(9600);
Serial.print("Initializing SD card...");
// 在以太网扩展板(Ethernet Shield)上,CS 管脚是管脚 4。它默认被设为输出管脚。
// 注意,就算它并不用做 CS 管脚,
// 硬件 SS 管脚(大多数 Arduino 开发板上是管脚 10,在 Mega 上是管脚 53)必须被留作输出,
// 否则 SD 库无法工作。
pinMode(10, OUTPUT);
if (!SD.begin(4)) {
Serial.println("initialization failed!");
return;
}
Serial.println("initialization done.");
if (SD.exists("example.txt")) {
Serial.println("example.txt exists.");
}
else {
Serial.println("example.txt doesn't exist.");
}
// 打开新文件并立即关闭:
Serial.println("Creating example.txt...");
myFile = SD.open("example.txt", FILE_WRITE);
myFile.close();
// 检查文件是否存在:
if (SD.exists("example.txt")) {
Serial.println("example.txt exists.");
}
else {
Serial.println("example.txt doesn't exist.");
}
// 删除文件:
Serial.println("Removing example.txt...");
SD.remove("example.txt");
if (SD.exists("example.txt")){
Serial.println("example.txt exists.");
}
else {
Serial.println("example.txt doesn't exist.");
}
}
void loop()
{
// 初始化完成之后,什么也不用做。
}
请参阅