-         

Ergebnis 1 bis 4 von 4

Thema: Abspeichern von Integerwerten im Eeprom und auslesen...

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    22.03.2005
    Beiträge
    91

    Abspeichern von Integerwerten im Eeprom und auslesen...

    Anzeige

    Hallo!

    Ich benötige für ein Serielles Kommunikationsprotokoll ein 16-Bit Datenwort und ein Config-Byte. Nun ist meine Frage, ob man das so in der Art ablegen kann und Bascom das richtig macht?

    ' Daten werden in das EEPROM gespeichert
    $eeprom
    Label1:
    Data 1 , 1 , 1 , 1
    $data
    ' ENDE DATEN EEPROM

    Poweron:
    Do
    'Parameter aus EEProm laden
    Readeeprom 4_flag , Label1
    Readeeprom 3_flag
    Readeeprom 2_flag
    Readeeprom 1_flag


    usw....

    Oder organiesiert man das von Hand Byteweise und fest von mir vergebener Speicheradress?

    Wäre Euch für Tipps und Ideen sehr dankbar.


    Viele Grüße

    Sven

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Je nachdem, was du machst, aber im Grunde reicht:

    dim conf as eram byte
    dim data(64) as eram word

    dann kannst du normal damit umgehen.

    conf = 23
    for x = 1 to 64
    data(x) = 12
    next

    Man sollt aber die Werte nicht zu oft reinschreiben.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Interger sind 4 Bytes?
    Am einfachsten ist es, den Wert einfach in eine Eepromadresse zu schreiben und von dort wieder auszulesen.
    Ist zumindest meine persönliche Meinung, das es so am einfachsten ist.

    Writeeeprom Variable , Adresse
    Und auslesen mit Readeeprom Variable , Adresse

    Man muss dabei aber beachten, das die Adresse 0 nach einen Reset gelöscht sein kann. Welche Typen das genau betrifft, steht in einer Atmel AppNote.
    Und man muss den Platz für die Variablengröße beachten, das beim schreiben der zweiten, nicht teile der ersten Gelöscht werden.
    Ein Word belegt 2 Adressen.
    Writeeeprom Wordvariable , 1 schreibt den Wert in 1 und 2. Die nächste kann also erst bei 3 beginnen und belegt 4 auch noch.

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Integer sind beim AVR 2 Byte !
    Da wir hier in der Basic-Abteilung sind, sollte man es doch so machen wie der PicNick meinte, denn dann nimmt einem Bascom die Arbeit mit der Auszählerei der Speicheradresse im EEprom ab.

Berechtigungen

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