Forum: Mikrocontroller und Digitale Elektronik Verständnisfrage SRAM


von Kobold (Gast)


Angehängte Dateien:

Lesenswert?

Ein freundliches Hallo in die Runde,

nach der Abarbeitung der für Anfänger wie mich sehr guten Anleitungen 
bin ich jetzt beim SRAM angekommen, dazu folgendes Problem:
Ein kleines Programm bringt ein paar LED in verschiedenen Farben zum 
Leuchten, das funktioniert soweit ganz gut. Nach Ersatz von normalen 
Registern durch Bytes im SRAM flackert es allerdings in unregelmäßigen 
Abständen.
Gut, sind ein paar Zeilen mehr, aber könnte das noch andere Urschen 
haben?

Im Anhang sind Ausschnitte aus beide Versionen enthalten, µC ist ein 
Mega8515 mit 16 MHz Takt. Außer den acht RGB-LEDs hat der Mega nichts 
weiter zu tun, den Spaghetticode möge man mir in Anbetracht meines 
Wissensstandes (noch) verzeihen.

Für erleuchtende Hinweise schon mal Danke,

der Kobold

von Andreas K. (a-k)


Lesenswert?

Standardfehler, in beiden Versionen: Im Interrupt-Handler wird SREG 
verändert aber nicht gesichert.

von Kobold (Gast)


Lesenswert?

Danke für den Hinweis, werde es verbessern.

Warum es in der ersten Variante dennoch völlig ohne flackern 
funktioniert und in der zweite nicht erklärt sich damit für mich nicht 
erkennbar.

der Kobold

von Johannes M. (johnny-m)


Lesenswert?

> .def  Z1    =  r20
> .def  Z1    =  r21
> .def  Z1    =  r22
> .def  Z1    =  r23
> .def  Z1    =  r24
> .def  Z1    =  r25
> .def  Z1    =  r26
> .def  Z1    =  r27
Wat is dat denn? Und da soll überhaupt was funktionieren?

Wundert mich, dass das nicht weiter unten haufenweise Fehlermeldungen 
vom Assembler gibt wegen undefinierter Symbole (Z2...Z8).

von Johannes M. (johnny-m)


Lesenswert?

Es wäre echt toll, wenn Du den Code schicken könntest, der auch bei Dir 
läuft.

von Kobold (Gast)


Lesenswert?

Problem gelöst, das temporäre Register, welches im Interrupt geändert 
wird, muss natürlich gesichert werden (Kopf klatsch...)

der Kobold

von Kobold (Gast)


Lesenswert?

Hallo,

obwohl anderer Controller (Tiny13) und ohne SRAM habe ich hier das 
gleiche Problem des gelegentlichen Flackerns, deshalb hänge ich das hier 
mal mit ran.

SREG ist in der ISR gesichert, das Flackern tritt wieder nur in 
unregelmäßigen Abständen auf.

Für Erklärungen schon mal Danke,

der Kobold

von Kobold (Gast)


Angehängte Dateien:

Lesenswert?

....Hmmm, Hilfe ohne Code wird wohl nichts werden :(
hier ist er :)

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.