Hi Leutz, ich speichere zwei Werte im Eprom des 2313 mittels folgender Funktion:
1 | eeprom_warten(); |
2 | eeprom_write_byte( (unsigned char *)10, i >> 6 & 0x1F); |
3 | eeprom_warten(); |
4 | eeprom_write_byte( (unsigned char *)11, (i & 0x3F) | (~i >> 7 & 0x40)); |
Hinter eeprom_warten versteckt sich nur der Aufruf while(!eeprom_is_ready()); als Funktion. Die Werte werden brav geschrieben. µC vom Strom, kurz gewartet und wieder dran - Werte sind immer noch da. Jetzt kommt's aber: Nach nochmaligem Strom weg und wieder da ist immer der zweite Wert weg bzw. 255. Wie kommt das? Es wird keine Schreibfunktion mehr aufgerufen. Beim Strom einschalten werden nur einmalig die Werte ausgelesen (eeprom_read_byte). Ich hab auch schon verschiedene Speicherstellen probiert, es ist immer der zweite Wert weg, das kann doch nicht sein, oder überseh ich da was?? Gruß, Markus