INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
SD Directory
03.02.2015, 21:17
Beitrag #1
SD Directory
Hallo
Eigentlich wie alle (Ich bin ......) (alt)

Mein Problem
Ich habe mir einen Nano V3 zugelegt und mit einer SD Card verschaltet (Bredboard)

den Sketch "listfile" aufgespielt und es kommt nach Öffnen des Serial Monitors kommt auch das Directory zurück.

soweit so gut.

nach erweitern des Scriptes in der Loop Schleife um

delay(15000);
printDirectory(root,0);
Serial.print("xx ");

a. kommt das Directory unvollständig zurück (es fehlen komplette oder alle Dateieinträge)

was mache ich falsch oder wo ist der Fehler ?http://www.arduinoforum.de/images/smilies/huh.gif

old56Man
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.02.2015, 21:23
Beitrag #2
RE: SD Directory
Hi,
stell doch hier mal den kompletten Sketch ein.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.02.2015, 21:25
Beitrag #3
RE: SD Directory
Fehler gefunden

hat die Zeile mit root.. gefehlt

delay(15000);
root = SD.open("/");
printDirectory(root,0);
Serial.print("xx ");

Danke für die Hilfe
man muss nur drüber Reden
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.02.2015, 22:46
Beitrag #4
RE: SD Directory
Zu früh gefreut
muss nochmal nerven

zwar kommt das Directory zurück aber nach 20 Durchläufen ist kommt nur noch die Count Zeile ohne DIr

Hier ist der Code
ist das Beispiel SD / listfile mit den o.g. Erweiterungen

/*
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

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 <SD.h>

File root;
int count =0;

void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}

Serial.print("Initializing SD card...");
// On the Ethernet Shield, CS is pin 4. It's set as an output by default.
// Note that even if it's not used as the CS pin, the hardware SS pin
// (10 on most Arduino boards, 53 on the Mega) must be left as an output
// or the SD library functions will not work.
// pinMode(10, OUTPUT);

if (!SD.begin(10)) {
Serial.println("initialization failed!");
return;
}
Serial.println("initialization done.");

root = SD.open("/");

printDirectory(root, 0);

Serial.println("done!");
}

void loop()
{
delay(15000);
root = SD.open("/");
printDirectory(root, 0);
count ++;
Serial.print(count);
Serial.println(" xxx");

// 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();
}
}


Läuft da ein Stack über ?

old56Man
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.02.2015, 23:29
Beitrag #5
RE: SD Directory
Hi,
mir fällt auf, dass Du immer wieder SD.open aufrufst, aber nie close. Gibt's dazu ein close?
Ansonsten hilft das hier zum Analysieren von Memory-Leaks:
Code:
int freeRam ()
{
  extern int __heap_start, *__brkval;
  int v;
  return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval);
};
Das gibt das momentan freie RAM zurück.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.02.2015, 13:29
Beitrag #6
RE: SD Directory
a. der Hinweis auf die "close" Anweisung hat geholfen. Danke

b. an die Levelshifter (Widerstände) habe ich gedacht

c. Werden soll das ein RS232 Datenserver , aber erst mal nur als Brainstorming.
Soll komplett über die SoftSerial Schnittstelle steuerbar werden

old56Man

OT. im letzten Jahrhundert
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.02.2015, 13:41
Beitrag #7
RE: SD Directory
(04.02.2015 13:29)old56Man schrieb:  c. Werden soll das ein RS232 Datenserver , aber erst mal nur als Brainstorming.
Soll komplett über die SoftSerial Schnittstelle steuerbar werden
Interessant, was wird denn daran wiederum angeschlossen?
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.02.2015, 17:51
Beitrag #8
RE: SD Directory
Idee ist alles daranzuklemmen was Daten über RS232 ausgibt oder haben will
gaanz früher hieß das mal Lochstreifen
Aber die gibt es schon länger nicht mehr und die danach gebräuchlichen Disketten und
Bänder sind auch abgekündigt.

Und eine Brücke über IP zum Rechner ist dafür auch OT

Gruß
old56Man
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste