Forum: Mikrocontroller und Digitale Elektronik Fragen zu Watchdog und Eeprom


von Florian T. (grendal)


Lesenswert?

Hallo,
bin grad dabei den Watchdog und Eeprom-Speicher das erste mal zu 
verwenden und dabei sind einige Fragen aufgekommen, die das 
AVR-GCC-Tutorial nicht klärt.

Zum Watchdog:
Der bleibt ja an wenn durch ihn resettet wird und dabei geht dann der 
Prescaler flöten und das ganze resettet wieder nach 16ms.
Im Tutorial steht jetzt man soll ihn deshalb nach möglichkeit vor der 
Variableninitialisierung zurücksetzen/ausschalten.
Aber in C muss die Variableninitialisierung zuerst kommen oder gibt es 
beim uC ausnahmen?
Würde also folgender Codeschnipsel funktionieren?
1
int(main){
2
wdt_disable();
3
int i=3;
4
while(1);
5
return 0;
6
}

Zum Eeprom:
Variablendeklaration via EMMEM attribut, soweit klar.
mit unsigned char status[512] EMEMM;
hätt ich also den ganzen Eeprom vom mega8 8 als array zur verfügung.
Wenn ich jetzt später den Eprom in einem anderen Programm sagen wir nur 
zur Hälfte nutze also char status[256] EMEMM;
gehe ich richtig in der Annahme, dass dieses Array den Einträgen 0-255 
des alten Arrays entspricht und quasi mit den Werten des Eeprom aus dem 
alten Programm "vorinitialisiert" ist?

Wie lange dauert so eine Schreibaktion von einem Char auf den Eeprom?

Ich möchte den Speicher nur zum übertragen von einem Bit zwischen resets 
nutzen, schreibt der immer das ganze Byte neu oder sind die einzelnen 
Bits 100000 mal beschreibbar?

Womit ist der Eeprom ab Werk "initialisiert"?

Ringpuffer:
Vorinitialisiering des gesamten Eeprom mit 0xFF, gespeichert wird der 
Wert in der ersten Zelle die 0xFF als Wert hat, sind alle Zellen nicht 
0xFF dann wird der Eeprom neu initialisiert mit 0xFF könnte das so 
klappen?

Danke Florian

von Florian T. (grendal)


Lesenswert?

oder gehört das eher ins GCC Forum?

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

EEPROM hat üblicherweise 0xFF als default und nach dem Löschen.
Kleinste Schreibbare Einheit ist ein Byte.
Schreiben dauert bis zu 10 ms (inkl. Löschen)
Maximale Schreibzyklen beziehen sich auf ein Byte.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.