Anzeige:

AVR-Projekt „MOOD LIGHT Color Magic“

Hier finden sie die archivierten Beiträge des alten PHPBB Forums von www.loetstelle.net

AVR-Projekt „MOOD LIGHT Color Magic“

Von Andreas Tille am 28.03.2006 15:59

Sehr geehrte AVR-Profis,

ich habe versucht das Projekt „MOOD LIGHT Color Magic“ von dieser Seite hier nachzubauen.
Dafür wollte ich mit AVRStudio 4.11 den Asm-File „moodlight.asm“ in einen Hex-File wandeln.
Hierbei entsteht bei mir jedoch folgende Fehlermeldung:

Building project...
AVRASM: AVR macro assembler 2.0.28 (build 121 Jan 11 2005 10:28:51)
Copyright (C) 1995-2005 ATMEL Corporation
C:\asm\moodlight\moodlight.asm(5): Including file 'C:\Programme\Atmel\AVR Tools\AvrAssembler2\Appnotes\tn12def.inc'
C:\asm\moodlight\moodlight.asm(14): error: syntax error, unexpected SYMBOL, expecting REGISTER
Assembly failed, 1 errors, 0 warnings

Was mache ich falsch ? Bin ein völliger Anfänger im Bereich AVR. Daher ist alles möglich.
Würde mich über einige Tipp sehr freuen.

Gruß Andreas

Von dunkelmann am 29.03.2006 11:45

hier mal das komplette Projektfile, vielleicht hilfts ja. Ich verwende AVR Studio 4.12 RC1 Build 452, damit kompilierts einwandfrei.

mfg
DKM

Von Andreas Tille am 29.03.2006 18:01

Hallo,
danke für den entsprechenden HEX-File. Konnte ihn nun ohne Probleme in den Tiny 12 schreiben. Das Programm funktioniert in der Tat wie in der entsprechenden Anleitung beschrieben. Es gibt jedoch einen Effekt, den ich gerne ändern würde. Und zwar die Zeit in der einer der drei LEDs aus ist, sollte länger gewählt sein, damit nicht in der meisten Zeit alle drei LEDs leuchten. Wo könnte man im Code die Pausenzeit (LED aus) verlängern ? Das durch die unterschiedlich gestarteten Timer kein wiederkehrendes Muster entsteht finde ich recht interresant. Könnte man aber auch einen synchronisierten Ablauf erstellen ? Erst rot, dann grün danach blau und dann geht wiedr los mit rot. Und zwar so, dass immer die aufeinander folgenden Farben ineinander geblendet werden. Sieht auch sicherlich gut. Die Überblendzeiten und die Zeit in der nur eine der drei LEDs an ist, sollte nicht zu kurz sein, damit etwas Ruhe in die Sache kommmt. Über einige Tipps würde ich mich freuen. Über entsprechende HEX-Files noch mehr. Eventuell kann jemand soetwas recht leicht erstellen. Vorab vielen Dank.
Gruß Andreas

Von Andreas Tille am 30.03.2006 18:14

Nochmals Hallo,

ich traue es mich fast nicht zuzugeben, dass ich zwar den Hex-File in den Tiny 12 übertragen konnte aber den ASM-File von Dir mit AVR-Studio 4.12 Build 460 (habe ich mir extra aktuell runtergeladen) auch nicht compiliert bekommen habe. Bekam wieder eine Fehlermeldung.
Bin wohl einfach zu dumm dazu. Kannst Du mir eventuell eine kurze Anleitung schreiben, welche Schritte Du genau gemacht hast um den Hex-File zu erzeugen ? Dann sollte auch ich es schaffen einen ASM-File in einen HEX-File zu wandeln. Vorab für Deine Mühe vielen Dank.

Gruß Andreas

Von Xumb am 01.05.2006 00:16

HAllo,
ist zwar schon eine Weile her, aber besser als nie Wink

Keine Angst, du bist nicht dumm. Very Happy

Ich bekomme genau die selben Fehler. Und zwar liegt das an den definierten register. DOrt wird r02, r03 und r04 angegeben. Die Zahl mit einer vorangestellten 0 ist eigentlich unüblich bei den Registern und deshalb nicht in jeder Definitions include Datei erklärt.
ändere es einfach in r2, r3 und r4 und es geht. LEider kommt dann nochmal ei anderer Fehler, undzwar ist ein Label schon als Register definiert, das mag AVR Studio nicht so besonderst. Deshalb nennst du das LAbel "colorselect" einfach ei wenig anderst. Schreib z.B. einfach noch eine Zahl dahinter.
Da das LAbel geändert wurde muss im Programm auch die Adresse beim Sprung geändert werden. deshlb da wo rjmp colorselect sthet auch wieder die selbe Zahl hinten dran hängen.

Dann funktioniert. DIe warnungen sind nicht von Bedeutung.

Der veränderte Code im Anhang.

Gruß,
Sven

Anzeige: