-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Atmega8 10bit speichern!

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    26.07.2008
    Beiträge
    19

    Atmega8 10bit speichern!

    Anzeige

    Hallo!
    Wie aus der Überschrift zu Entnehmen möchte ich 10bit abspeichern können, sodass ich nach einer Stromunterbrechung noch auf die 10bit zugreifen kann!

    Hat jemand eine Idee wie und ob das überhaupt zu realisieren ist?


    mfG Torben

    Für jede Hilfe dankbar!

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    22.11.2005
    Ort
    Braunschweig
    Alter
    41
    Beiträge
    685
    Moin!
    Ich würde sagen, die zehn Bit als Integer (16bit) verpacken und im Eeprom speichern wäre eine Möglichkeit.
    Mfg
    Volker
    Meine kleine Seite
    http://home.arcor.de/volker.klaffehn
    http://vklaffehn.funpic.de/cms
    neuer Avatar, meine geheime Identität

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    26.07.2008
    Beiträge
    19
    Zitat Zitat von vklaffehn
    Moin!
    Ich würde sagen, die zehn Bit als Integer (16bit) verpacken und im Eeprom speichern wäre eine Möglichkeit.
    Mfg
    Volker
    danke für die schnelle Antwort!

    Wie speicher ich die denn in den Eeprom?
    also befehl?
    mfG Torben

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    22.11.2005
    Ort
    Braunschweig
    Alter
    41
    Beiträge
    685
    Moin!
    Öhm... voll erwischt, ich habe von Bascom keine Ahnung, aber da gibt es bestimmt eine Hilfe, in der man nach 'Eeprom' suchen kann.
    Oder bei Google : http://www.electro-tech-online.com/m...tmega-8-a.html
    MfG
    Volker
    Meine kleine Seite
    http://home.arcor.de/volker.klaffehn
    http://vklaffehn.funpic.de/cms
    neuer Avatar, meine geheime Identität

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Einfach ne Variable im EEPROM anlegen (Stichwort ERAM) und beim erkennen des Stromausfalles oder schon davor abspeichern.

    Angenommen XE ist die ERAM-Variable, XR enthält den Wert als normale Variable im RAM; dann siehts Speichern einfach so aus: XE = XR.
    #ifndef MfG
    #define MfG

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    26.07.2008
    Beiträge
    19
    ok danke!!

    noch was kleines hinterhergeschoben..
    ich hab bei variablen ja u.a. bit und byte zur auswahl!!
    wenn ich eine byte variable anlege mit dem wert 00000000
    und dann sage b=b+1
    kommt dann 00000001
    und danach 00000010 raus?

    Sorry für die Fragen.. habe aber zur Zeit leider kein experimentier Board zur Verfügung... bzw. keine Controller

    mfG Torben

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    jo genau:
    ...000
    ...001
    ...010
    ...011
    ...100... etc...
    #ifndef MfG
    #define MfG

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    26.07.2008
    Beiträge
    19
    nochmals Danke!!

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    43
    Beiträge
    2.240
    dim temp_word as word at &hd0
    dim low_byte as byte at &hd0 overlay
    dim high_byte as byte at &hd1 overlay
    dim eram_high_byte as eram byte
    dim eram_low_byte as eram byte

    ' beim Start nach Reset z.B.

    high_byte = eram_high_byte
    low_byte = eram_low_byte

    do

    incr temp_word
    print temp_word
    eram_high_byte = high_byte
    eram_low_byte = low_byte
    wait 1
    loop
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  10. #10
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.05.2007
    Beiträge
    329
    hallo,

    dabei gilt es noch zu beachten: das EEPROM bitte nicht ständig mit Schreibattaken in der Doloopschleife vollballern!
    erstens dauert das Schreiben ins EEPROM ewig, stellt die ganze Maschine hin und drittens ist das EEPROM nach ein paar Schreibzyklen wegen Altersschwäche hinüber

    Quellenangabe:
    Bascom Hilfe:
    An important difference is that an ERAM variable can only be written to a maximum of 100.000 times. So only assign an ERAM variable when it is needed, and never use it in a loop or the ERAM will become unusable.

    All interrupts are disabled while the EEPROM data is written. Interrupts are enabled automatic when the data is written.

    Datasheet ATMega8:
    Endurance: 100,000 Write/Erase Cycles

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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