Forum: Mikrocontroller und Digitale Elektronik Völlige Startprobleme mit Atmega8 (mkII) Bitte um dringende Hilfe


von viki (Gast)


Lesenswert?

Hallo,

ich bin nun echt völlig verzweifelt..es geht nichts!

Habe schon auf etlichen Seiten versucht Problemlösungen zu finden, die
auf meine zutreffen..leider ohne Erfolg!

Ich habe einen myAVR MK2 + LCD.

Mit der mitgelieferten Demo Version von myAVR Workpad Plus kann ich
LES's blinken lassen etc.

Jedoch geht garnichts mit PonyProg, Yaap, AVR Studio...die erkennen
nichts..schreiben nichts.. kein plan..evtl. mache ich was falsch.

Ist das ".include "m8def.inc  " eine Datei die ich irgendwohin kopieren
muss..oder schreibe ich das nur so von?

Ich will endlich mal ein Erfolgserlebnis haben...BITTE UM HILFE!

MFG

von Ronny M. (hobby-coder)


Lesenswert?

Ganz am Anfang muss .include "m8def.inc" stehen. Die Datei enthält alle 
notwendigen Informationen über den MCU Typ, die der Compiler benötigt, 
um das Programm entsprechend übersetzen zu können.

Wenn Du ein paar Leds blinken lassen kannst, dann solltest Du auch das 
LCD Display ansteuern können. Überprüfe einfach mal folgendes:

* Display an den richtigen Ports angeschlossen? <- Sollte bei einem 
fertigen Gerät kein problem sein
* Programmcode korrekt?
* Richtiger Programmer im Compiler/ in der IDE gewählt?

von Ch D. (chrisu) Benutzerseite


Lesenswert?

Poste doch mal den Code der nicht funktoniert!

von viki (Gast)


Lesenswert?

ich kriege ja nicht mal eine verbindung zu ponyprog oder yaap...kann 
keine fusebits setzen..nichts...

wie gesagt kann nur mit der mitgelieferten demo meinen atmega brennen.

ist .include "m8def.inc" eine datei? oder reicht das wenn das nur im 
prog steht?

von Ronny M. (hobby-coder)


Lesenswert?

viki schrieb:
> ich kriege ja nicht mal eine verbindung zu ponyprog oder yaap...kann
> keine fusebits setzen..nichts...
>
> wie gesagt kann nur mit der mitgelieferten demo meinen atmega brennen.
>
Mit welchem Programm kannst Du die Demo Programme in den Atmega8 
brennen?

> ist .include "m8def.inc" eine datei? oder reicht das wenn das nur im
> prog steht?

.include "m8def.inc" heist, das eine Datei an der Stelle eingebunden 
wird . Regulär findet der Compiler die Dateien im /lib Verzeichnis des 
Compiler Instalationsverzeichnisses. Falls nicht, meldet der Compiler, 
das er diese nicht finden kann. Deine Programme würden einfach nicht 
übersetzt werden...

von viki (Gast)


Lesenswert?

sorry das ich so lange brauche, bis ich zurückschreibe..wir haben eben 
besuch bekommen...

könnten wir morgen weiterr machen..wär echt voll nett...

p.s. brennen kann ich momentan nur mit dem demo version von myrAVR 
workpad plus.


mfg

von spess53 (Gast)


Lesenswert?

Hi

>Es ist eine Datei. Regulär findet der Compiler die Dateien im /lib
>Verzeichnis des Compiler Instalationsverzeichnisses. Falls nicht, meldet
>der Compiler, das er diese nicht finden kann. Deine Programme würden
>einfach nicht übersetzt werden...

Das ist keine Datei eines Compilers, sondern des (der) Assembler des 
AVR-Studios. Die beiden Dateien befinden sich im AVR-Studioverzeichnis 
unter AVRASSEMBLER\APPNOTES bzw. AVRASSEMBLER2\APPNOTES. Beim 
AVRAssembler1 muss der komplette Pfad zur Datei angegeben werden. Beim 
AVRAssembler2 reicht '.include "m8def.inc" '.

>ich bin nun echt völlig verzweifelt..es geht nichts!

Deine Angaben sind etwas konfus. 'geht nicht' ist keine Fehlerangabe. 
Bedeutet z.B. '... mit Atmega8 (mkII)...' das du ein AVR-ISP MKII hast?
Was hast du bisher jetzt genau gemacht?

MfG Spess

von Ronny M. (hobby-coder)


Lesenswert?

viki schrieb:
> sorry das ich so lange brauche, bis ich zurückschreibe..wir haben eben
> besuch bekommen...
>
> könnten wir morgen weiterr machen..wär echt voll nett...
>

Kein Problem :) Vieleicht hat jemand bis dahin noch ein paar andere 
Tipps für Dich gefunden.
> p.s. brennen kann ich momentan nur mit dem demo version von myrAVR
> workpad plus.

Kannst Du da den Typ des Brenners wählen? Wenn ja, notiere Dir mal die 
Daten und trag diese mal in den Brenner Einstellunen Deiner IDE's ein. 
Ich selbst nutze zur Zeit nur Bascom und das Mega8 Board von Segor...
>
>
> mfg

von Stefan K. (stefan1971)


Lesenswert?

Hallo viki,

ich habe das myAVR MK2 USB-Board. Ich nehme mal an, Du hast das gleiche.

Darauf lassen sich Programme mit AVRprog (im AVR Studio zu finden unter 
Tools > AVR Prog...) auf den Controller übertragen. Auf dem myAVR MK2 
ist ja ein USB-Programmer (mySmartUSB MK2) draufgesetzt.

Wie man diesen in AVR Studio verwenden kann, ist unter 
http://shop.myavr.de/index.php?sp=faq.sp.php beschrieben. Suche dort 
nach FAQ42.

Bei mir gibt es noch ein Ärgernis, was ich nicht abschließend ergründet 
habe: Ich muss AVR Prog erst aufrufen, dann den Programmer nochmal vom 
USB trennen und wieder neu verbinden. Erst dann wird er erkannt...

Grüße, Stefan

von viki (Gast)


Lesenswert?

Hallo alle zusammen,

die Hinweise von Stafan habe ich befolgt und es gab ein Prob mit dem 
COM-Anschluss.

AVRStudio erkennt aber trotzdem mein Board nicht (Ausser die variante 
von Stafan).

Kann mir einer sagen, wie ich Grundsätzlich vorzugehen habe?

MFG

von viki (Gast)


Lesenswert?

Und wieso kann ich in AVR Studio keinen Atmega8 auswählen (der ist grau 
und die, die ich auswählen kann sind schwarz)?

von spess53 (Gast)


Lesenswert?

Hi

>Und wieso kann ich in AVR Studio keinen Atmega8 auswählen (der ist grau
>und die, die ich auswählen kann sind schwarz)?

Wo im AVR-Studio?

MfG Spess

von viki (Gast)


Lesenswert?

Wenn ich z.B ein neues Projekt anlegen möchte....dann muss ich 
auswählen, was für ein Board ich habe und welche Mic.

Wenn ich diesen Schritt Überspringe, dann habe ich keine Verbingung zu 
meinem Board.


mfg

von spess53 (Gast)


Lesenswert?

Hi

>Wenn ich z.B ein neues Projekt anlegen möchte....dann muss ich
>auswählen, was für ein Board ich habe und welche Mic.

>Wenn ich diesen Schritt Überspringe, dann habe ich keine Verbingung zu
>meinem Board.

Diese Angaben beziehen sich auf den Simulatur/Debugger. Wenn du 
Simulator oder Simulator2 wählst, kannst du dein Projekt anlegen. Der 
ATMega8 hat keine Debugmöglichkeit (Debugwire/JTAG). Also bleibt dir nur 
Simulator übrig. Simulator2 unterstützt den auch nicht. Mit deinem Board 
hat das nichts zu tun.

MfG Spess

von viki (Gast)


Lesenswert?

Ahhh cool Danke..kann den nun auch auswählen.

Wenn ich nun auf den Button klicke, der wie ein IC aussieht und auf dem 
AVR drauf steht (Connect to the Selected AVR Programmer) kommt folgende 
Meldung " Connect faild - Select AVR Programmer" ...dort klicke ich auf 
AVRISP MK II- USB und anschliessend auf Connect. Wofür ist das(Es geht 
nicht..die Meldung kommt immer wieder)?

mfg

von spess53 (Gast)


Lesenswert?

Hi

Der erste Button (CON) wird der Programmer ausgewählt und Verbunden. Mit 
dem Button 'AVR' wird nur mit dem ausgewähten Programmer verbunden. 
Allerdings wird nicht jeder Programmer unterstützt, sondern eigentlich 
nur die von Atmel bzw. kompatible Klone. Ob deiner dazugehört musst du 
selbst herausfinden.

MfG Spess

von viki (Gast)


Lesenswert?

HHmmm so langsam tut sich hier was :)  .. cool

Ich vervuche schon die ganze zeit mit dem Beispiel-Code vom Tutorial das 
LC-Display anzusteuern. Es kommt immer die Meldung, das er die 
lcd-routines.asm nicht finden kann, obwohl ich diese in assambler1 & 
assambler2 reinkopiert habe.

Hat jmd. von euch ein lauffähiges Bsp um einfach mal ein Hallo auf dem 
Display auszugeben?

Soweit aber schonmal vielen Dank für eure Hilfen...es scheint so, dass 
es nun langsam losgehen kann.

ABER: Mit Yaap und PonyProg geht nach wie vor nichts. Ich kann die 
FuseBits nicht auslesen ..nichts brennen...etc.
Woran könnte das liegen?

MFG

von spess53 (Gast)


Lesenswert?

Hi

> Es kommt immer die Meldung, das er die lcd-routines.asm nicht finden kann,
> obwohl ich diese in assambler1 & assambler2 reinkopiert habe.

Mach dir ein extra Verzeichnis für solche Dateien. Unter 
'Project'->'Assembler Options' kannst du den Pfad zu den Include-Dateien 
angeben. Ansonsten muss sich die Datei im selben Verzeichnis, wie dein 
ASM-Programm befinden.

MfG Spess

von viki (Gast)


Lesenswert?

hhmmm irg.wie klappt das nicht.

Ich habe den Code "Routines zur LCD Ansteuerung " 
(http://www.mikrocontroller.net/articles/AVR-Tutorial:_LCD)

in einen Texteditor kopiert und mit der endung .asm gespeichert.
Daraufhin habe ich diese Datei bei assambler2 rein kopiert...zusätzlich 
noch in das Verzeichis, wo ich das Projekt angelegt habe. -> geht net.

P.S

Ich habe gerade zufällig durch googlen eine Prog gefunden "AVR LCD 
Editor" ..kennt das jmd? wie funzt das ?

Aber erstmal wäre es wohl angesagt wenigstens ein "Hallo" ausgeben zu 
können :)

von spess53 (Gast)


Lesenswert?

Hi

> -> geht net.

Was geht nicht?

MfG Spess

von viki (Gast)


Lesenswert?

Also wenn ich es Compiliere, dann kommt der Error ..bla bla von wegen 
der findet lcd-routines.asm nicht.

Eine Idee was woran das liegt?

von spess53 (Gast)


Lesenswert?

Hi

Wenn sich die Datei im Projektverzeichnis befindet und der Assembler 
findet sie nicht, würde ich spontan auf falschen Namen tippen.

MfG Spess

von viki (Gast)


Lesenswert?

ne..name stimmt..

von Ronny M. (hobby-coder)


Lesenswert?

viki schrieb:
> ne..name stimmt..

Gib mal den Dateinamen mit Ordner Struktur an. Also z.B. .include 
"c:\atmega8\m8def.inc"

von Uwe .. (uwegw)


Lesenswert?

viki schrieb:
> Wenn ich nun auf den Button klicke, der wie ein IC aussieht und auf dem
> AVR drauf steht (Connect to the Selected AVR Programmer) kommt folgende
> Meldung " Connect faild - Select AVR Programmer" ...dort klicke ich auf
> AVRISP MK II- USB und anschliessend auf Connect. Wofür ist das(Es geht
> nicht..die Meldung kommt immer wieder)?

Der "AVRISP MK II- USB" wird von Atmel hergestellt und hat nichts mit 
deinem ISP zu tun, es ist ein völlig anderes Gerät. Daher ist die 
Benutzung von AVRprog die einzige Möglichkeit, deinen ISP aus dem 
AVRstudio heraus anzusprechen.

von viki (Gast)


Lesenswert?

at ronny,

die m8def erkennt er inzwischen..jedoch nicht die lcd-routines.asm (auch 
mit ordner struktur)

mfg

von Michael M. (Gast)


Lesenswert?

lass mal deinen quelltext sehen

von viki (Gast)


Lesenswert?

.include "m8def.inc"

.def temp1 = r16
.def temp2 = r17
.def temp3 = r18


           ldi temp1, LOW(RAMEND)      ; LOW-Byte der obersten 
RAM-Adresse
           out SPL, temp1
           ldi temp1, HIGH(RAMEND)     ; HIGH-Byte der obersten 
RAM-Adresse
           out SPH, temp1

           ldi temp1, 0xFF    ; Port D = Ausgang
           out DDRD, temp1

           rcall lcd_init     ; Display initialisieren
           rcall lcd_clear    ; Display löschen

           ldi temp1, 'T'     ; Zeichen anzeigen
           rcall lcd_data

           ldi temp1, 'e'     ; Zeichen anzeigen
           rcall lcd_data

           ldi temp1, 's'     ; Zeichen anzeigen
           rcall lcd_data

           ldi temp1, 't'     ; Zeichen anzeigen
           rcall lcd_data

loop:
           rjmp loop

.include "C:\Dokumente und Einstellungen\Vintschun\Eigene 
Dateien\Test_Progs_myAVR\teste_lcd\lcd-routines.asm"


Das ist ja nur der Code vom Turtorial...die lcd-routines.asm habe ich 
kopiert und in einem Texteditor gespeichert.

mfg

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.