Hi,
ich bin neu in der Mikrocontrollerprogrammierung und wollte jetzt mal
ein LCD ansteuern. Dazu habe ich mal das Programm aus dem Tutorial zum
Einsteigen "geklaut" und wollte es jetzt mal ausprobieren.
Allerdings spuckt mir AVR-Studio beim Assemblieren immer eine
Fehlermeldung aus (siehe Anhang).
Ich bin mir aber auch nicht sicher ob ich alles richtig gemacht habe
(blicke nicht ganz durch was mit Projekt und Solution jetzt eigentlich
gemeint ist). Habe beim Start von AVR-Studio 5 "New Project" geklickt
und dann meinen Kontroller gewählt, dann den LCD-Testprogramm Code
reinkopiert. Anschliesend Rechtsklick auf AVRAssembler7 -> Add -> New
Item -> Assembler file und dort den LCD-Routinen Code reinkopiert und
die Datei LCD-Routinen genannt.
Was mache ich falsch?
Gruß,
Thomas
PS: wenn ich den Inhalt von LCD-Routinen.asm direkt unter mein
"Hauptprogramm" kopiere geht es.
Hi, danke für den Tipp!
dann lässt es sich zwar assemblieren aber läuft nicht wenn man es auf
den MC programmiert. (vermute, dass er den Inhalt der Include Datei auch
genau an die Stelle des .include Befehlts schreibt, also noch vor das
Hauptprogramm wo sie eigentlich nicht hin gehören)
Weiß sonst niemand eine Lösung?
Was ist denn konkret der Inhalt der "LCD-Routinen"? Die Fehlermeldungen
besagen wohl, dass etwas mit den Sprungmarken "lcd_clear" und "lcd_data"
nicht stimmt.
Auf deinem Screenshot ist das nicht erkennbar (und genau darum sind
Bilder immer blöd), aber hast du die letzte Zeile, die mit dem .include
mit einem Zeilenvorschub abgeschlossen?
Manche Assembler sind da pingelig und werten as ansonsten nicht als
vollständige Zeile.
Wenns das auch nicht ist: poste deinen Source Code, damit jemand anderer
das mal durch sein System durchjagen kann.
Karl Heinz Buchegger schrieb:> Auf deinem Screenshot ist das nicht erkennbar (und genau darum sind> Bilder immer blöd), aber hast du die letzte Zeile, die mit dem .include> mit einem Zeilenvorschub abgeschlossen?> Manche Assembler sind da pingelig und werten as ansonsten nicht als> vollständige Zeile.
Ich flipp aus... genau das wars :) Vielen Dank! Jibbiee
In deinem Programnm werden "temp2" und "temp" 3 mal(!) definiert.
Variable müssen eindeutig (einmalig) definiert werden. Wie soll der
Assembler/Compiler denn wissen welches "temp2" du benutzen willst?
Ausnahmen sind lokale Variablen, aber ob das dein Assembler kann weiß
ich jetzt auch ncht (ich benutze andere Controller).
Der Ben schrieb:> Wo liegt das Problem?
Dass du gerade einen uralten Threads gekapert hast, dessen Länge durch
mißachten der Funktion für Anhänge um 500 Prozent erhöht hast und dein
Problem außer "es geht nicht" überhaupt nichts mit der Fehlermeldung des
to zu tun hat.
Der Code ist wohl wirklich etwas lang.
Heute Nacht im halbschlaf gar nicht so realisiert. Sry!
Nächstes Mal gehts in den Anhang damit.
Allerdings habe ich bis auf die Variablen-Geschichte genau das gleiche
Problem wie der TO.
Der Ben schrieb:> .include "lcd-routines.asm"
Bin ich der Einzige der das für bedenklich hält. Wofür gibts Linker? Die
sind auch etwas schlauer als der dumme Präprozessor.
Hi
>Bin ich der Einzige der das für bedenklich hält. Wofür gibts Linker? Die>sind auch etwas schlauer als der dumme Präprozessor.
Welchen Linker vom AVR-Assembler meinst du?
MfG Spess