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


von Bernhard (Gast)


Angehängte Dateien:

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

von Tobias Breckle (Gast)


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.

von Uwe (Gast)


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

von Bernhard (Gast)


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

von Uwe (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.