PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : daten in den sram und aus den sram



ronald
18.02.2006, 16:14
hallo,
problem:
ich möchte einen string (z.B. Hallo) in den Sram speichern. Und diesen String dann aus dem Sram holen und per uart senden.
der uart ist dabei nicht das problem, aber ich verstehe die behandlung mit dem sram nicht.
ich benutze den atmega8l und das myavr-board. vielleicht kann mir jemand weiterhelfen.
(über die suche bin nach ca. 2std. auch nicht auf die antwort meiner frage gestoßen)

linux_80
18.02.2006, 16:25
Hallo,

Welche Sprache gedenkst Du zu verwenden ?
Wenn es irgendeine Hochsprache ist, muss man sich keine so grossen gedanken darum machen, einfach die Variablen verwenden.
Nur mit Assembler muss man das selber bauen,
hierzu nimmt man die Befehle LD und ST.
Der Beginn des SRAMs wird in den include-Dateien definiert, beim M8 wäre das die $60.

ronald
18.02.2006, 16:43
danke für die schnelle reaktion.
ja ich wollte es in assembler machen.
aber ich weis halt nicht wie ich in den ram was reinbekommen, vielleicht kannst du mir mal ein bsp. geben?
mit normalen "zahlen" weis ich ja wie es geht:
lds r16,0x0060;laden vom speicher ins r16
sts usw. zum speichern im sram

aber:
ich möchte z.B. 2 strings speichern, und dann nur 1 davon senden. da muss ich doch irgendwie auf die entsprechende speicherstelle weisen, welche dann aus dem speicher geladen werden soll.

linux_80
18.02.2006, 16:53
ein String sind ja bekanntlich mehrere Bytes hintereinander, wenn man die Startadresse weiss, kann man unter zuhilfenahme der X, Y oder Z Register automatisch nach jedem lesen/schreiben die Adresse um eins erhöhen lassen, dann liest man solange bis ein $0 als endekennzeichen kommt, und beendet die Schleife.
Am besten guckst Du Dir das AVR Instruction Set an:
http://www.atmel.com/dyn/resources/prod_documents/doc0856.pdf
da sind auch Beispiel dabei.