Eğitimler
listfiles
Bu örnek, SD kartın dizininde bulunan dosyaların nasıl listelendiğini gösterir. SD kütüphanesi hakkında daha fazla bilgi için lütfen buraya tıklayın .
Gerekli Donanım
- Arduino veya Genuino kartı
- Ethernet Kalkanı (veya SD yuvalı başka bir kart)
- Biçimlendirilmiş SD kart
Devre
Arduino veya Genuino kartı Ethernet Kalkanına bağlı olmalı ve ayrıca bilgisayara bağlı bir USB kablosu olmalıdır.
Şemalar
Kod
Aşağıdaki kod, yerleşik SD yuvasına sahip bir Ethernet kalkanı ile kullanım için yapılandırılmıştır. SD.begin()
setup()
, SD.begin()
PIN 4'ü CS pin olarak adlandırır. Bu pim, kullandığınız kalkanın veya kartın markasına bağlı olarak değişir.
Ana loop()
hiçbir şey yapmaz, çünkü SD kartın "/" dosya dizinini yazdıran işlev setup()
çağrılır. Çünkü sadece bir kez görmemiz gerekiyor.
printDirectory
işlevi, girişler listesini tarar ve var olan her dosya ve dizinin üzerine seri olarak yazdırır. Dosyalar için de boyut yazdırılır.
Listfiles
This example shows how print out the files in a
directory on a SD card
The circuit:
SD card attached to SPI bus as follows:
** MOSI - pin 11
** MISO - pin 12
** CLK - pin 13
** CS - pin 4 (for MKRZero SD: SDCARD_SS_PIN)
created Nov 2010
by David A. Mellis
modified 9 Apr 2012
by Tom Igoe
modified 2 Feb 2014
by Scott Fitzgerald
This example code is in the public domain.
*/
#include <SPI.h>
#include <SD.h>
File root;
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
Serial.print("Initializing SD card...");
if (!SD.begin(4)) {
Serial.println("initialization failed!");
while (1);
}
Serial.println("initialization done.");
root = SD.open("/");
printDirectory(root, 0);
Serial.println("done!");
}
void loop() {
// nothing happens after setup finishes.
}
void printDirectory(File dir, int numTabs) {
while (true) {
File entry = dir.openNextFile();
if (! entry) {
// no more files
break;
}
for (uint8_t i = 0; i < numTabs; i++) {
Serial.print('\t');
}
Serial.print(entry.name());
if (entry.isDirectory()) {
Serial.println("/");
printDirectory(entry, numTabs + 1);
} else {
// files have sizes, directories do not
Serial.print("\t\t");
Serial.println(entry.size(), DEC);
}
entry.close();
}
}
See Also
- SD library- SD Kart kütüphanesi için referansınız.
- Notes on using SD cards- SD kart kullanırken bilmeniz gerekenler
- CardInfo- SD kartınız hakkında bilgi alın.
- Datalogger- Üç analog sensörden bir SD karta veri nasıl kaydedilir.
- DumpFile- SD karttan bir dosya nasıl okunur.
- Files- Nasıl bir SD kart dosyası oluşturmak ve yok etmek.
- ReadWrite- Bir SD karta ve SD karttan veri okuma ve yazma.