Verständnisproblemm, ATmega88, ext. RESET vs. BROWN-Out

Gast #1069343
Lesenswert?

Hallo Leute!

Ich habe ein Verständnisproblem bei dem Atmega 88. Es geht um den ext. 
Reset und den Brown-Out-Reset. Aus dem Datenblatt geht hervor(meiner 
Meinung nach!), dass die beiden Resetmöglichkeiten im Endeffekt das 
gleiche bewirken. (siehe Anhang :Auszug aus dem Datenblatt --- 
RESET-LOGIK).

Problem:

Nach einem ext. Reset werden alle Variablen richtig initialisiert, bzw. 
die Variablen sind nicht mit Müll gefüllt. Und das Programm läuft ohne 
Probleme weiter.
Wird allerdings ein Brown-Out-Reset ausgelöst (Die Spannung = 0V,  die 
int. Kapazitäten werden entladen!!!) steht nach der Initialisierung in 
den Variablen, die nicht explizit auf einen bestimmten Wert gesetzt 
wurden, nur Müll. Und das führt natürlich zu unerwünschten Effekten.

Ok, man könnte sagen die Variablen sollten immer einen Default-Wert 
haben.
Trotzdem bleibt es für mich erst mal ein Rätsel warum die RESET – 
Varianten sich so unterscheiden!?!
Angehängte Dateien:
Persönliche Seite #1069348
Lesenswert?

Sergej wrote:

> Wird allerdings ein Brown-Out-Reset ausgelöst (Die Spannung = 0V,  die
> int. Kapazitäten werden entladen!!!) steht nach der Initialisierung in
> den Variablen, die nicht explizit auf einen bestimmten Wert gesetzt
> wurden, nur Müll.

Ja, und? Variablen, die Du nicht initialisiert hast sind undefiniert. 
Das ist auf anderen Plattformen genau so. Und die Resets unterscheiden 
sich konzeptionell nicht (bzw. es wuerde mich sehr schwer wundern).
Gast #1069366
Lesenswert?

Hi

Wenn du dir dein Bild ansiehst, wirst du bemerken, das alle Resetquellen 
in einer Leitung enden. Also ist die Wirkung identisch. Lediglich im 
MCUSR kann man die Resetquelle erkennen.
Die IO-Register werden beim RESET auf einen Defaultwert (siehe 
Datenblatt) gesetzt. Der µC kennt keine Variablen. Nach dem Reset fängt 
er einfach von vorn an. Die Veriablen des Programms werden von dem 
selber initialisiert.

> die nicht explizit auf einen bestimmten Wert gesetzt
>wurden, nur Müll. Und das führt natürlich zu unerwünschten Effekten.

Das ist Unsinn. Der Controller verhält sich nach jedem Reset identisch. 
Nur wenn man das MCUS-Register auswertet kann eine unterschiedliche 
Reaktion erzeugt werden.

MfG Spess

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