2016-04-14 26 views
0

mein Attiny85 verliert die gesamten EEPROM-Daten, wenn ich den Strom von. Ich benutze die Arduino IDE und bin mir sicher, dass das EEPROM geschrieben wurde, da ich Serielle Rückmeldung bekomme. Hier ist mein Code:Attiny85 EEPROM löschen, nach Stromausfall

#include <EEPROM.h> 
#include <SoftwareSerial.h> 

SoftwareSerial SSerial(0, 1); 

int addr = 0; 
uint8_t val = 2; 

void setup() 
{ 
    SSerial.begin(9600); 
} 

void loop() 
{ 
    EEPROM.write(addr, val); 

    delay(100); 

    uint8_t value = EEPROM.read(addr); 

    SSerial.print(addr); 
    SSerial.print("\t"); 
    SSerial.print(value, DEC); 
    SSerial.println(); 

    addr = addr + 1; 
    if (addr == 512) 
    while(1); 
} 

Danke :)

+0

Schreiben Sie nicht Eeprom in einer Schleife, es kann es beschädigen. Sie verwenden eine variable Adresse, die nicht deklariert ist. –

+0

Sind Sie sicher, dass es sich um den Code handelt, den Sie ausprobiert haben? "Adresse" ist nirgendwo definiert. Haben Sie das EEPROM gelöscht, indem Sie den Schreibcode zu lange während des Tests schleifen lassen? –

+0

Die Schleife wird nur einmal ausgeführt. – SPJS01Pro

Antwort

2

Programmieren über ISP SPI löscht eeprom (alle Werte werden 0xFF) standardmäßig aber scheint diese Funktion kann Setup in Programmierer Einstellungen sein. Programmieren über Bootloader löscht eeprom nicht.

Vielen Dank @Vladimir Tsykunov

+0

Da dies Vladimirs Kommentar ist, wäre es schöner gewesen, ihn zu fragen poste es als Antwort (um ihm die Credits zu geben) ... – frarugi87

+0

Wenn er seine Antwort postet, werde ich sicher seinen Post überprüfen – SPJS01Pro