www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Speicherung v. Variablen


Autor: GMB (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!!

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: GMB (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, ich habe keine Ahnung was Bascom draus macht. Ich beziehe mich
auf die Hardware, und ggf. C/C++. Ob Bascom das RAM evtl. komplett
initialisiert weiss ich nicht.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du könntest Deinen Referenzwert auch im EEPROM des Controllers
speichern, das ist nichtflüchtig.

Autor: Thomas O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich sehe da überhaupt kein Problem wenn dein AVR einen Reset macht gehts
doch von vorne los und das Poti wird neu eingelesen, danach findet dein
Vergleich statt und dann erst die Aktion.

Autor: GMB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ich denke so werde ich das auch machen!! Das Poti bleibt ja am Gerät
dran in der Zielschaltung, so das der "Kunde" damit dann was
einstellen kann...danke für eure Hilfe!! :-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.