- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 13 von 13

Thema: Anfangswertproblem BASCOM ERAM

  1. #11
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.07.2005
    Ort
    18km südl. Lutherstadt Wittenberg
    Alter
    47
    Beiträge
    142
    Anzeige

    Praxistest und DIY Projekte
    Hi,

    sorry, kann dir noch nicht ganz folgen.
    Bei meiner Flugmodellfernsteuerung habe ich sowohl im Prozessor des "Senders" als auch im Prozessor des Modells bestimmte Parameter im Eeprom abgelegt, die ich allesamt im Menü des Senders bearbeiten und wenn ich das will auch danach wieder im Eeprom abspeichern kann, damit die Einstelungen für das nächste mal erhalten bleiben.

    Um das zu erreichen lade ich als erstes die Werte aus dem Eeprom und sichere sie in Variablen im normalen Ram. Das Programm arbeitet dann die ganze Zeit mit diesen Variablen im Ram und nicht im Eeprom (schon deswegen, weil der Eeprom viel zu langsam ist) Ich kann diese Variablen im Menü verändern und auch wieder im Eeprom absichern, wenn ich mir Sicher bin, daß die Werte stimmen.
    zB habe ich dort die Daten der Steuerknüppelbelegung (wie die 4 Steuerfunktionen auf die 2 Kreuzknüppel verteilt sind - ob jemand Rechtshänder ist oder Linkshänder. Werte zur Calibrierung der Steuerknüppel usw... Im µC des Modells sind unter anderem die Daten für die Trimmung und das Failsafe abgelegt.)
    Wenn man nun einen Neuen µC nutzt, ist der gesamte Eeprom mit &HFF gefüllt. Dann kann man entweder sich ein Programm schreiben, was nach aufspielen den Eeprom mit Werten der Grundeinstellung beschreibt und danach in einer Endlosschleife endet, wo er zB eine Led Blinken läßt.
    Oder du spielst dein Programm auf, der Prozessor nimmt die teilweise vielleicht unsinnigen Daten aus dem Eeprom und dann mußt du sie eben korrekt einstellen.
    Oder es wird beim Initialisieren geprüft, ob die Werte aus dem Eeprom sinnvoll sind - wenn nicht, werden Ersatzdaten geladen. Wichtig ist nur, daß du die Initialroutine, wenn die Werte aus dem Eeprom geladen werden, vor der Do Loop programmiert hast.

    PS: der erste Codeschnipsel in meinem obigen Post ist die initialroutine meines Senders und nur der 2. Codeschnipsel ist das Brennen ins Eeprom...

    Edit:
    Ja, die schreibroutine prüft, ob die Werte im Eeprom überhaupt überschrieben werden müssen - Wenn sie schon mit den zu speichernden Werten übereinstimmen, muß man ja nicht sinnlos einen der möglichen 100.000 Schreibzugriffe verschwenden...
    Um für das allererste Einschalten deinen Prozessor mit den gewünschten sinnvollen Werten zu bespielen, solltest du meiner Meinung nach am einfachsten ein extra Programm schreiben, welches die gewünschten Werte der Grundeinstellung einmalig im Eeprom ablegt. Danach spielst du dann das eigentliche Programm auf - Das ist wahrscheinlich die allereinfachste Möglichkeit, weil du dann im Programm selbst keine zusätzliche Gültigkeitsprüfung mehr benötigst, was sonst nur zusätzlich Programm-Speicher belegen würde. Wenn du aus Bascom heraus Programmierst, kannst du dir auch den Inhalt des Eeprom anzeigen lassen und so vergleichen, ob das richtige drinn steht, oder nicht.
    MfG Dani.

  2. #12
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    09.05.2007
    Beiträge
    202
    Hallo Dani,

    das ist schon richtig so. Aber ein separates Programm braucht es dafür nicht unbedingt. Du kannst auch einfach eine eep-Datei an den Prozessor schicken. Diese kann Bascom automatisch erzeugen. Der Inhalt dieser Datei wird ins EEProm geschrieben und beinhaltet deine Grundeinstellungen. Wenn du die Hex-Datei mit deinem Programm und die EEP-Datei mit den EEProm-Daten übertragen hast, ist alles da was du brauchst.
    Gruß, Stefan

  3. #13
    Benutzer Stammmitglied
    Registriert seit
    31.08.2007
    Beiträge
    30
    Danke an Alle

    Problem ist gelöst

    beste Grüsse
    Christian

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad