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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.