Speicherung v. Variablen

Gast #314756
Lesenswert?

Hallo zusammen!

Habe da mal eine "grundsätzliche" Frage:

Ich habe ein Programm, bei dem u.a. ein ADC-Wert eingelesen wird,und
mit einem von mir im Programm vorher festgelegten Wert verglichen wird,
und bei gleichheit der beiden Werte wird eine Aktion ausgeführt.

Jetzt möchte ich den Wert, bei dem die Aktion ausgeführt wird,
"extern" ändern. Habe mir jetzt dazu überlegt dies mit einem
Potentiometer machen, welches ebenfalls am A/D-Wandler angeschlossen
ist.

Ich möchte also den A/D-Wandler auslesen, nehme den Wert (der ja je
nach Poti-Stellung anders ist), und schreibe ihn in eine Variable.

Vorher frage ich den anderen ADC-Wert ab, schreibe ihn ebenfalls in
eine Variable, danach vergleiche ich die beiden Werte auf ihre
Gleichheit.

Wenn ich jetzt dem Controller die Spannung wegnehme, er also einen
Reset ausführt, ist dann der Wert der über den Poti eingestellt wurde
"gespeichert"? Oder ist er wieder auf dem "Ursprungswert"?

Mir ist klar, das ich im Programm vorher diese Variable dann nicht
"belegen" darf, da er ja sonst diese wieder beim Reset neu auf den
Wert "setzt".

Bin für jede Hilfe dankbar!!
Gast #314757
Lesenswert?

Der RAM-Inhalt bleibt beim Reset erhalten (in C-Programmen nicht, aber
das liegt dann an der Software). Es kann aber sinnvoll sein, einen
Controller mit aktiviertem Brownout-Detector zu verwenden und nach dem
Reset abzufragen, was die Ursache war. Denn nach einem Spannungseinbuch
ist der Inhalt wieder undefiniert.
Gast #314758
Lesenswert?

Hallo!!

Also, es wäre dann so, dass der Controller ausgeschaltet wird, also die
Spannung "weg" ist...in dem Fall wäre dann der Inhalt undefiniert, ja?
Also müsste ich den Wert dann zu Beginn wieder über das Potentiometer
abfragen, ja? Um ihn dann auf einem "konkreten" Wert zu haben,
richtig?

Ich verwende übrigens Bascom für die Programmierung, es ist ein mega8
als Controller.
Gast #314759
Lesenswert?

PS: Controller mit Bootloader verwenden u.U. einen Teil des RAMs für
Daten vom Bootloader, und es kann je nach Typ auch sein, dass der
Bootloader nach Reset immer erst mal aktiv wird, auch wenn er nicht
gebraucht wird.

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