Forum: Mikrocontroller und Digitale Elektronik problem in asm quellcode


von luxx (Gast)


Angehängte Dateien:

Lesenswert?

Hallo
ich hab heut ein asmfile gemacht, mit dem ich auf nem lcddisplay ein
menu anzeigen kann. assemblieren und so kein problem. lad ich das prog
in den mega16 zeigt er aLLES an und so. nur wenn der int0 ausgelöst
wird, das "anderungflag" gesetzt wird, und er dann eigentlich bei
tastendruck einen menupunkt weiterspringen sollte, passiert nix mehr.

luxx

von peter dannegger (Gast)


Lesenswert?

Die Datei läßt sich nicht entzippen (ungültige Komprimierungsmethode).

Allgemein ist aber ein externer Interrupt eine äußerst ungünstige
Methode, um Tasten zu entprellen.
Ein Timerinterrupt ist da wesentlich besser geeignet (Codesammlung).


Peter

von Rolf Magnus (Gast)


Lesenswert?

> Die Datei läßt sich nicht entzippen (ungültige
> Komprimierungsmethode).

Dann ist dein zip zu alt oder das runtergeladene File kaputt. Bei mir
tut's problemlos.

von luxx (Gast)


Lesenswert?

ja und?
habt ihr nen fehler gefunden? bzw habt ihrs jetz mal entpacken können?

luxx

von Hauke Sattler (Gast)


Lesenswert?

Also was mir auf die schnelle aufgefallen ist:
1. Die in der ISR verwendeten temporären Variablen werden scheinbar
auch im Hauptprogramm verwendet.
2. Du sicherst diese nicht zum Beginn der ISR ab (um sie am Ende
wiederherzustellen)
3. Du änderst verwendest Befehle in der ISR welche die Flags
beinflussen. (Absicher und wiederherstellen von SREG fehlt)

Ich werde mal schauen ob ich das in VMLAB simulieren kann.

cu
Hauke

P.S.
Dein Code ist echt grausam zu lesen.
Du solltest mal eine optische Struktur in deine Sprünge und Skips
bringen.
Weiterhin sind bezeichnungen wie temp1 2 3 nicht wirklich hilfreich,
wenn die Variablen sich mehr vom Nahmen unterscheiden ist es
einfacher.
bis dann

von Hauke Sattler (Gast)


Lesenswert?

P.P.S.

Eine korrekturfunktion im Forum wäre machmal echt genial.

"3. Du änderst verwendest Befehle in der ISR welche die Flags
beinflussen. (Absicher und wiederherstellen von SREG fehlt)"

sollte

3. Du verwendest Befehle in der ISR welche die Flags
beinflussen. (Das Absichern und Wiederherstellen von SREG fehlt)

heißen

cu
Hauke

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.