[RISOLTO]Salvare lo stato di un pulsante nel SD.

Buona sera sto provando il codice postato da >Docdoc< .

[code]
#include <SD.h>
#include <Wire.h>
#include <SPI.h>

#define PULSANTE_ON 5
#define PULSANTE_OFF 3
#define LED 6
//int ultimo; //ho provato  cosi.
//char ultimo;
File stato;

void setup() {
   Serial.begin(9600);
  if (!SD.begin(4)) {
    Serial.println("initialization failed!");
    while (1);
  }

  pinMode(PULSANTE_ON , INPUT);
  pinMode(PULSANTE_OFF , INPUT);
  pinMode(LED, OUTPUT);

  stato = SD.open("stato.txt");
  if (stato)
  {
    byte ultimo = stato.read();
    stato.close();
    Serial.print("stato.txt: ultimo=");
    Serial.println(ultimo);
    digitalWrite(6, ultimo);
  }
  Serial.println("fine setup ");
  delay(1000);
}

void loop() {
  ultimo = -1;//           mi da errore 'ultimo' su questa riga di codice 
  if (digitalRead(PULSANTE_OFF) == HIGH)
    ultimo = 0;
  else if (digitalRead(PULSANTE_ON) == HIGH) {
    ultimo = 1;
    if (ultimo != -1)
    {
      stato = SD.open("stato.txt", FILE_WRITE);
      Serial.print("Scrivo lo stato: ");
      Serial.println(stato);
      stato.write(ultimo);
      delay(50);
      stato.close();
      delay(1000);
    }
  }
}

[/code]
ho commentato la riga che mi da errore ho provato a inizializzare >int ultimo;
funziona ma sulla sd mi stampa dopo la scritta caratteri strani .


sulla seriale invece mi stampa solo stato 1, anche se premo l'altro pulsante.