■SD.rmdir関数
SD.rmdir関数は、SDカードからディレクトリを削除します。
ディレクトリは空である必要があります。
■使用例
Arduino IDEで使用するSD.rmdir関数の使い方は以下の通りです。
試しに図1の様にmicroSDカードとArduino UNOを接続し下記プログラムを実行すると、SD.begin関数でmicroカードが存在するか確認し初期化します。
次にSD.exists関数で「a/b/c」ディレクトリを確認すると、SD.remove関数でこのディレクトリを削除します。
図1:SparkFun microSD Transflash BreakoutとArduinoProMini3.3Vの接続例
※ArduinoUNO等の5V出力マイコンと接続する場合は、
レベルシフタか抵抗の分圧で電圧を3.3Vに下げます。
※ArduinoUNO等の5V出力マイコンと接続する場合は、
レベルシフタか抵抗の分圧で電圧を3.3Vに下げます。
microSDカード | Breakoutボード | ArduinoProMini3.3V |
DAT0 | D0 | MISO |
VSS | GND | GND |
CLK | SCK | SCK |
VDD | Vcc | 3.3V |
CMD | DI | MOSI |
CD/DAT3 | CS | CS/S |
#include <SPI.h> #include <SD.h> //イーサネットシールドでは、CSはピン4です。CSピンとして使用されていなくても、ハードウェアCSピン(ほとんどのArduinoボードでは10、メガでは53)を出力のままにする必要があります。 const int chipSelect = 8; void setup() { // シリアル通信を開き、ポートが開くのを待ちます Serial.begin(9600); while (!Serial) { ; // シリアルポートが接続するのを待ちます。レオナルドのみに必要 } Serial.print("Initializing SD card..."); // デフォルトのチップセレクトピンが使用されていない場合でも、それが出力に設定されていることを確認してください。 pinMode(10, OUTPUT); // 使用するchipSelectピンも出力に設定する必要があります。 pinMode(chipSelect, OUTPUT); // カードが存在し、初期化できるかどうか確認してください。 if (!SD.begin(chipSelect)) { Serial.println("Card failed, or not present"); // 何もしないでください return; } Serial.println("card initialized."); // 指定したディレクトリが有る場合は、そのディレクトリを削除します。 if (SD.exists("a/b/c")) { SD.rmdir("a/b/c"); } } void loop() {}
図1:プログラム例
■構文
SD.rmdir(filename)
■パラメータ
filename:削除するディレクトリの名前。
サブディレクトリは”/”で区切ります。
■戻り値
ディレクトリの削除が成功した場合はtrue、失敗した場合はfalse
※ディレクトリが存在しない場合、戻り値は指定されていません。
励みになりますのでよければクリック下さい(^o^)/