Forum: Mikrocontroller und Digitale Elektronik Wavrasm und Atmel mega 8


von Jürgen (Gast)


Lesenswert?

Hallo,


ich habe bisher immer den Atmel 4433 verwendet. Nun wollte ich den
Nachfolger ausprobieren Atmel Mega 8 dazu habe ich die Inc Datei
ausgetauscht, aber es funktioniert nicht Wavrasm zeigt folgenden Fehler
m8def.inc(41) : error : Illegal device Name
und bei der Uartabfrage Undefined variable referenced

Wer hat einen Tip??

Gruß

Jürgen

von Martin (Gast)


Lesenswert?

Hi!
schau mal nach ob in dem ordner, in der die Definitionen stehen, ob es
da überhaupt diese Datei gibt: m8def.inc
wenn du eine sehr alte Version hast kann es sein, dass diese Datei bei
dir noch nicht vorhanden ist.

Viel spaß bei suchen

Martin

von Jürgen (Gast)


Lesenswert?

Hallo,

vielen Dank erst einmal für Deine Antwort. Aber die inc Datei ist im
Verzeichnis. Was könnte es noch sein?

Gruß Jürgen

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Verwende das AVR-Studio, die avrasm-Version beim wavrasm ist
hoffnungslos veraltet.

von Klaus (Gast)


Lesenswert?

Hallo Jürgen,

das Problem tritt ja in Zeile 41 der m8def.inc auf. Was steht denn da?
Falls es die Atmel Standart Datei ist, steht dort ATmega8. Vermutlich
gab es den noch nicht, als der Wavrasm geschrieben wurde, oder es gibt
ev. einen neueren update. Der Assembler muss typischerweise den
Befehlssatz und die Register des jeweiligen Controllers kennen.

HTH.
Ciao,
Klaus

http://www.mikrocontroller-projekte.de

von thkais (Gast)


Lesenswert?

Die Fehlerhafte Zeile in der m8def.inc einfach mit ; auskommentieren.
Wenn ich mich richtig erinnere, war das ein Befehl "device=..." oder
so, den kennt der alte Assembler nicht - den ich übrigens nicht für
veraltet halte, funktioniert bei mir prima.

von Jürgen (Gast)


Lesenswert?

Hallo,

super vielen Dank !!!!! Der erste Fehler ist weg. Jetzt habe ich nur
noch eine Frage kennt der Mega 8 den Befehl out UBRR,temp1 vom Uart der
macht noch den Fehler Undefined variable referenced

Komplett sieht es so aus

           ldi temp1, RAMEND  ;Stackpointer initialisieren
           out SPL, temp1


           sbi UCSRB,TXEN                 ;TX aktivieren
           sbi UCSRB, RXEN   ; RX Aktivieren
           ldi temp1,4000000/(9600*16)-1   ;Baudrate 9600 einstellen
           out UBRR,temp1

Vielen Dank an alle super das es das Forum gibt!!

Gurß

Jürgen

von Uwe (Gast)


Lesenswert?

Hi!
Mensch lese doch mal das Datenblatt!
UBRR ist nicht, ist 16 Bit, dehalb blos UBRRH und UBRRL!

MFG Uwe

von Jürgen (Gast)


Lesenswert?

Hallo,

vielen Dank !! Bin jetzt auch schon drauf gekommen in der Inc Datei
noch einmal genauer nach zu sehen nachdem thkais die Idee mit dem
Device hatte, was super funktioniert hat  konnte ich auch den anderen
Fehler beheben. Danke noch mal jetzt habe ich keine Fehler mehr beim
Programm. Nur leider habe ich jetzt beim LCD eine Balken . Hat jemand
schon einmal so eine Erfahrung gemacht beim Wechsel von4433 auf Mega8 .
Vielleicht habe ich die Fuse Bit falsch einestellt unter AVR . Ich habe
ext. 3-8 18CK +0 für meinen externen  4MHz Quatz .

Vielen Dank für Eure Hilfe !!!

Gruß

Jürgen

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.