Statistics
| Branch: | Revision:

root / arduino-1.0 / libraries / SD / examples / listfiles / listfiles.ino @ 58d82c77

History | View | Annotate | Download (1.57 KB)

1
/*
2
  SD card basic file example
3
 
4
 This example shows how to create and destroy an SD card file 	
5
 The circuit:
6
 * SD card attached to SPI bus as follows:
7
 ** MOSI - pin 11
8
 ** MISO - pin 12
9
 ** CLK - pin 13
10
 ** CS - pin 4
11
 
12
 created   Nov 2010
13
 by David A. Mellis
14
 updated 2 Dec 2010
15
 by Tom Igoe
16
 
17
 This example code is in the public domain.
18
 	 
19
 */
20
#include <SD.h>
21

    
22
File root;
23

    
24
void setup()
25
{
26
  Serial.begin(9600);
27
  Serial.print("Initializing SD card...");
28
  // On the Ethernet Shield, CS is pin 4. It's set as an output by default.
29
  // Note that even if it's not used as the CS pin, the hardware SS pin 
30
  // (10 on most Arduino boards, 53 on the Mega) must be left as an output 
31
  // or the SD library functions will not work. 
32
  pinMode(10, OUTPUT);
33

    
34
  if (!SD.begin(10)) {
35
    Serial.println("initialization failed!");
36
    return;
37
  }
38
  Serial.println("initialization done.");
39

    
40
  root = SD.open("/");
41
  
42
  printDirectory(root, 0);
43
  
44
  Serial.println("done!");
45
}
46

    
47
void loop()
48
{
49
  // nothing happens after setup finishes.
50
}
51

    
52
void printDirectory(File dir, int numTabs) {
53
   while(true) {
54
     
55
     File entry =  dir.openNextFile();
56
     if (! entry) {
57
       // no more files
58
       //Serial.println("**nomorefiles**");
59
       break;
60
     }
61
     for (uint8_t i=0; i<numTabs; i++) {
62
       Serial.print('\t');
63
     }
64
     Serial.print(entry.name());
65
     if (entry.isDirectory()) {
66
       Serial.println("/");
67
       printDirectory(entry, numTabs+1);
68
     } else {
69
       // files have sizes, directories do not
70
       Serial.print("\t\t");
71
       Serial.println(entry.size(), DEC);
72
     }
73
   }
74
}
75

    
76

    
77