ti ho eliminato un po di dichiarazioni doppie
non ho applicato la F() che dice Silente
//librerie per connessione alla rete, SD & stringhe
#include <Ethernet.h>
#include <SPI.h>
#include <SD.h>
#include <String.h>
byte button = 7;
byte state = 0;
EthernetServer server(80);
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
byte ip[] = {192, 168, 1, 200};
byte gateway[] = {192, 168, 1, 1};
byte subnet[] = {255, 255, 255, 0};
// String ascoltatore;
char logs;
File miofile;
Sd2Card card;
SdVolume volume;
void setup() {
Ethernet.begin(mac, ip, gateway, subnet);
pinMode(button, INPUT);
Serial.begin(9600);
Serial.println("Sto inizializzando la scheda micro SD...\n");
if (!SD.begin(4)) {
Serial.println("Inizializzazione fallita\n");
Serial.println("* Controlla di aver impostato il pin quattro,");
Serial.println(" come pin di Input");
Serial.println("* Controlla di aver inserito la micro SD");
return;
} else {
Serial.println("Inizializzazione completata");
delay(2500);
Serial.println("Configurazione terminata\n");
delay(1600);
Serial.print("Tipo di scheda micro SD: ");
switch (card.type()) {
case SD_CARD_TYPE_SD1:
Serial.print("SD1\n");
break;
case SD_CARD_TYPE_SD2:
Serial.print("SD2\n");
break;
case SD_CARD_TYPE_SDHC:
Serial.print("SDHC\n");
break;
default:
Serial.print("Unknown\n");
}
Serial.print("Volume della micro SD: \n");
if (!volume.init(card)) {
Serial.println(" Il volume identificato non è valido,");
Serial.println(" prova a formattare la micro SD in FAT16 o FAT32 (ricorda:");
Serial.println(" questa funzione potrebbe non funzionare con tutte le micro SD)\n");
} else {
Serial.print(" Il volume identificato FAT16/FAT32 corrisponde con le richieste\n");
}
delay(1800);
if (SD.exists("logs.txt")) {
Serial.println("\n\n\nIl file logs.txt esiste\n");
} else {
Serial.println("\n\n\nIl file logs.txt non esiste\n");
Serial.println("Sto creando un file dei logs.txt...");
/*miofile = */SD.open("logs.txt", FILE_WRITE);
if (SD.exists("logs.txt")) {
Serial.println("\nFile logs.txt creato\n\n");
} else {
Serial.println("\nFile logs.txt non creato\n\n");
}
delay(2500);
//miofile.close();
}
}
}
void loop() {
EthernetClient client = server.available();
state = digitalRead(button);
if (state == HIGH and SD.exists("logs.txt")) {
SD.remove("logs.txt");
Serial.println("\nFile logs.txt eliminato");
delay(10000);
}
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
// ascoltatore.concat(c);
if (c == '\n') { //<--------------------
miofile.write(c); //<--------------------
logs = SD.open("logs.txt", FILE_READ);
Serial.println(logs);
}
}
}
}
}
ma dopo aver messo tutto in ascoltatore sulla sd stampi \ n e sulla serial 1 che succede?