www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem bei RAM-Zugriff bei 4433


Autor: Bernhard (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich hab ein programm geschrieben, das an bestimme zellen von ram bytes 
puffert, die über die serielle schnittstelle reinkommen, und die dann 
später wieder rausgesendet werden. nur irgendwie funktioniert das nicht. 
leider kann ich keinen fehler finden.

wäre toll, wenn mir da jemand helfen könnte.

Danke Bernhard

PS: die LCD-Routinen sind vom tutorial

Autor: Tobias Breckle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich greif immer mit lds / sts aufs ram zu. weiss nicht wie du des 
machst, hab ich aber noch nie so gesehen. bin auch erst n halbes jahr 
mim avr zugange hab aber bisher immer lds und sts bei ramzugriffen 
gesehen.

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Bernhard !

dec rammem
breq endrw

Wenn rammem bei Aufruf 0 ist werden 256 Byte ausgegeben.
ist das so gewollt?

Z+ ist 16 Bit, ich sehe aber sehr selten einen direkten Wert für Z der 
eine richtige Startadresse beinhaltet. Läuft Z eventuell davon? ld und 
st ist alles mit Z+

Richtig durchdacht habe ich es allerdings jetzt nicht, sind nur so 
Gedanken.

Nimm doch mal einen Simulator zur Hand und teste einfach

MFG Uwe

Autor: Bernhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo

1. LTS und STS bringt mir nix, weil ich mehr daten hab und ich mal die 
vom anfang oder vom ende brauch.

2. das problem mit rammem und den 256 byte hab ich auch schon gemerkt. 
um das werd ich mich aber später kümmern.

3. Z wird am anfang beim speichern einmal mit 0x0060 geladen und dann 
immer erhöht und dann wenns wieder ausgegeben wird, wirds auch mit 
0x0060 geladen und dann immer mit Z+ ausgegeben und wenns mitm ausgeben 
fertig ist, wird wieder 0x0060 geladen.

dürfte doch eigentlich funktionieren, oder?

Und mit nem Simulator hab ichs noch nicht ausprobiert, weil ih keinen 
habe. gibts überhaupt einen für linux und wo krieg ich ne einführung 
dazu her?

Danke
Bernhard

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Bernhard!

Was ist bei Empfang wärend Senden läuft? Da entsteht doch bestimmt Müll!

>Z wird am anfang beim speichern einmal mit 0x0060 geladen ..
...
>und wenns mitm ausgeben fertig ist, wird wieder 0x0060 geladen.

Wo sind die Zeilen? Ich sehe nur Z+ und bei ramlcd einmal Z=0x60

Übrigens schon beim ersten Einsprung in "serin" steht Z noch auf 
(text*2)+ Text, also ganz bestimmt nicht auf 0x60

MFG Uwe

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.