Problem bei RAM-Zugriff bei 4433

Gast #35479
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
Angehängte Dateien:
Gast
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.
Gast
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
Gast
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
Gast
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

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.