-         

Ergebnis 1 bis 6 von 6

Thema: Speichern im SRam

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    23.02.2007
    Beiträge
    59

    Speichern im SRam

    Anzeige

    Hallo Profis,

    irgendwie habe ich einen Denkfehler.

    Ich möchte mal zum Test Daten im SRam eines ATtiny2313 abspeichern.
    Dieser Speicher beginnt an Adresse 0x060.

    Wenn ich jetzt diesen Code im Studio teste und mir den Inhalt von temp2 anzeigen lasse, bekomme ich gänzlich andere Werte.

    LDI ZH,HIGH(0x60)
    LDI ZL,LOW(0x60)

    LDI tmp,'H'
    st z+,tmp

    LDI tmp,'a'
    st z+,tmp

    LDI tmp,'l'
    st z+,tmp
    LDI tmp,'l'
    st z+,tmp
    LDI tmp,'o'
    st z,tmp

    LDI ZH,HIGH(0x60)
    LDI ZL,LOW(0x60)

    lpm temp2, Z+
    lpm temp2, Z+
    lpm temp2, Z+
    lpm temp2, Z+
    lpm temp2, Z

    Kann mir bitte mal wer kurz meinen Denkfehler erläutern?

    MfG LK

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    26
    Beiträge
    522
    Hallo LotharK,

    mit LPM liest man den Flash aus, nicht den RAM. Mit "LD register, pointerregister" liest man den RAM indirekt aus. Also "LD temp2,Z+" anstatt "LPM temp2,Z+".

    MfG Mark

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    23.02.2007
    Beiträge
    59
    UPS!! Danke, da hab ich mich aber verhauen...

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.08.2004
    Ort
    bw-germany
    Alter
    39
    Beiträge
    272
    ... und ZH sollte man auf null setzen, nicht auf 0x60

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    23.02.2007
    Beiträge
    59
    Entschuldige, aber nach all meinen Informationen beginnt der SDRam an Adresse 0x060 und nicht bei 0x000.

    Du hast mich jetzt unsicher gemacht.

    MfG LotharK

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    26
    Beiträge
    522
    Zitat Zitat von nestandart
    ... und ZH sollte man auf null setzen, nicht auf 0x60
    Zitat Zitat von LotharK
    ...
    LDI ZH,HIGH(0x60)
    ...
    Das obere byte von 0x60 ist 0.

    Zitat Zitat von LotharK
    Entschuldige, aber nach all meinen Informationen beginnt der SDRam an Adresse 0x060 und nicht bei 0x000
    Stimmt doch.

    MfG Mark

Berechtigungen

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