Fragen zu Watchdog und Eeprom

OP #2768737
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren