www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Neuling mit STK500 versucht einen Atmega8 zu programmieren


Autor: Marcel R. (matze_89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo erstmal,

ich will in die µC-Welt einsteigen!

Zu mir, nennt mich Matze bin 20 und angehender
Elektrotechnik Student :)


Ich hab mich nen bissel umgelesen und hab mir das STK500
geholt, sowie einen USB-Seriell Adapter.
Außerdem habe ich mir noch das Büchlein geholt, was hier auf der
Seite empfohlen wird: Softwareentwicklung in C für Mikroprozessoren
und Mikrocontroller.
Und halt noch so Kleinkram:
3 Atmega8, 4MHz Quarz, Widerstände, Kondis, 7-Seg, und nen LCD

Hab mich hier auch an die Tutorials gewagt, zunächst Assambler.
Wenn ich ehrlich bin verstehe ich nur Bahnhof. Vllt kennt jemand ja
ne nette Seite zum Assambler Einstieg!
Dann ok, bevor du im Forum rumschreibst lernste dich in C ein,
Soweit so gut, ich hab mich mit dem Buch bissel in C eingelesen(hab C++ 
Kenntnisse).

Irgentwo hier im Forum mein ich hab ich nen Link zu der Seite von
Peter Flury gefunden. Der hat echt nette Beispiele, die mir geholfen 
haben.
Dann wollte ich zum Test sein Programm Helloled auf meinen Atmega8 
spielen.
Also kurzer Hand, in AVRStudio4 ein .c projekt erstellt, und den Code 
reinkopiert:
#include <inttypes.h>
#include <avr/io.h>


int main(void)
{
    uint8_t   led; 
    uint8_t   keys;
    

    DDRB  = 0xff;                  // use all pins on PortB for output 
    DDRD  = 0x00;                  // use all pins on port D for input
    
    PORTD = 0xff;                  // activate internal pull-up
    PORTB = 0xff;                  // set output high -> turn all LEDs off
    
    for (;;) {                     // loop forever   
        keys = ~PIND;              // read input port with switches
(active-low)
        
        if ( keys & 1 )
            led = 1;
        else if ( keys & 2 )       // priority encoder: if multiple switches are pressed,
            led = 2;               // only the lowest switch is recognized
        else if ( keys & 4 )
            led = 4;
        else if ( keys & 8 )
            led = 8;
        else if ( keys & 0x10 )
            led = 0x10;
        else if ( keys & 0x20 )
            led = 0x20;
        else if ( keys & 0x40 )     
            led = 0x40;             
        else if ( keys & 0x80 )      
            led = 0x80;
        else
            led = 0;
            
        if ( keys ) 
            PORTB = ~led;           // Set corresponding LED if switch pressed
    }
}


Nun im Handbuch steht, dass die Status LED beim Programmieren Orange 
Leuchten sollte. Nur die Power LED is an - Die LED an der Seite blinkt 
beim drücken des PROG Tasters 2?mal auf.
Das zweite, mal erkennt das Studio mein Board könnte schreiben, kann 
aber kein µC auswählen! Dann dachte ich Liegts am Studio, also WinAVR . 
hex erzeugt und dann mit myAVR_ProgTool versucht. Das geht, bis das 
mittendrin aufhört und stehenbleibt(hellrotes Ausgabefenster mit der 
Ausgabe, dass der Zugriff auf COM1(hab ich auf 115kBaud) verweigert sei.
Das ganze Funtioniert mit keinem Atmega8 und dem IC der dabei war!

Hier bilder vom Aufbau:
http://www.pictureupload.de/originals/pictures/220...
http://www.pictureupload.de/originals/pictures/220...
Was mache ich falsch?

Hoffe man kann mir helfen und reißt nich direkt meinen Neuling-Thread 
auseinander :)

Autor: Chrisi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaub dein ISP kabel ist falsch angesteckt, das muss, soweit ich 
weiß, vom untersten Pin-Header auf den Grünen gehen

gruß
Chrisi

Autor: Chrisi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
d'oh sorry jetzt seh ich, dass es so ist

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marcel R. schrieb:
> Hoffe man kann mir helfen und reißt nich direkt meinen Neuling-Thread
> auseinander :)

Nein, nur wegen deiner Rechtschreibung :-)

Soweit man das auf dem doch recht unscharfen Bild erkennen kann, ist das 
ISP-Kabel richtig gesteckt und als Taktquelle ist der 
Software-Oszillator des STK500 gewählt.

Das AVR Studio findest also das STK500. Und dann? Was passiert wenn Du 
die Signatur des ATmega auslesen möchtest? Eine detaillierte 
Fehlerbeschreibung wäre schon hilfreich.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>dass der Zugriff auf COM1(hab ich auf 115kBaud) verweigert sei.

Bist du sicher, das dein USB-RS232-Adapter auf COM1 liegt?

MfG Spess

Autor: Marcel R. (matze_89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Das AVR Studio findest also das STK500

Nicht immer! Jetzt z.B. nicht!

http://www.pictureupload.de/originals/pictures/220...
http://www.pictureupload.de/originals/pictures/220...

Beim Zweiten link ist nich der korrekte µC auswählbar.

>Hi

>>dass der Zugriff auf COM1(hab ich auf 115kBaud) verweigert sei.

>Bist du sicher, das dein USB-RS232-Adapter auf COM1 liegt?

>MfG Spess

Definitiv, habs im Gerätemanger eingestellt.

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AVRprog wird nur verwendet, um eine neue Firmware auf das STK500 
aufzuspielen. daher kannst Du auch keinen anderen Controller auswählen, 
da dort ein ATmega8535 verbaut ist.

Da du dich gar mit dem STK500 verbinden kannst (der andere Dialog), 
musst Du dort das Problem erst einmal in den Griff bekommen. Wähle dort 
mal explizit den korrekten Port aus.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Unter Windows darf man keiner Anwendung die UART unterm Hintern 
wegziehen.
Also erst USB-RS232 Umsetzer einstecken, dann AVRStudio starten.


Peter

Autor: Marcel R. (matze_89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>AVRprog wird nur verwendet, um eine neue Firmware auf das STK500
>aufzuspielen. daher kannst Du auch keinen anderen Controller auswählen,
>da dort ein ATmega8535 verbaut ist.

Dann habe ich ein Problem. Ich war in der Annahme, dass das µC
Brenntool ist. Und habs damit versucht(Studio hat nich gemeckert). Jetzt 
hab ich wahrscheinlichLED Programm da drauf... wo kann ich die aktuelle 
Firmware herbekommen?

>Unter Windows darf man keiner Anwendung die UART unterm Hintern
>wegziehen.
>Also erst USB-RS232 Umsetzer einstecken, dann AVRStudio starten.


>Peter

Mach ich auch so

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marcel R. schrieb:
> Dann habe ich ein Problem. Ich war in der Annahme, dass das µC
> Brenntool ist. Und habs damit versucht(Studio hat nich gemeckert). Jetzt
> hab ich wahrscheinlichLED Programm da drauf... wo kann ich die aktuelle
> Firmware herbekommen?

Nein, wahrscheinlich nicht. Falls doch wäre das aber auch kein großes 
Problem:
AVR Studio -> Menü -> AVR Tools User Guide -> STK500... -> 
Troubleshooting -> Manual Firmware Upgrade

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Dann habe ich ein Problem....

Einfach das STK aus- und wieder einschalten. Dabei Status-Led 
beobachten. Wenn rot-orange-grün-aus-grün kommt ist alles IO.

MfG Spess

Autor: Marcel R. (matze_89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Nein, wahrscheinlich nicht. Falls doch wäre das aber auch kein großes
>Problem:
>AVR Studio -> Menü -> AVR Tools User Guide -> STK500... ->
>Troubleshooting -> Manual Firmware Upgrade

Danke, es lebt wieder :)

Nun ja.
> http://www.pictureupload.de/originals/pictures/220...

Der Fehler besteht noch, hier nen Ausschnitt ausm Gerätemanger:

http://www.pictureupload.de/originals/pictures/220...

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, die Verbindung scheint ja eigentlich zu funktionieren wenn das 
Aufspielen einer neuen Firmware klappt. Starte ich AVRprog im Studio 
ohne angeschlossenes STK500 kommt nämlich die Meldung "No supported 
board found".

Die benötigten Anschlusseinstellungen für COM1 sollte das AVR Studio 
doch selbst setzen. Da musst Du nichts ändern.

Wenn COM1 wirklich der korrekte Port ist habe gerade auch keine Idee 
mehr.

Autor: Marcel R. (matze_89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>"No supported board found".

Das steht dann bei mir auch!
Das überspielen ging ohne Probleme. ~2min hat es gedauert.

Komisch!
Wenn ich das STK einschalte ohne den Programm Button zu drücken bekomme 
ich eine Verbindnung, mit Programm nicht. confused!

/e
>Wenn COM1 wirklich der korrekte Port ist habe gerade auch keine Idee
>mehr.

Hab mal weiter im Gerätemanger gegraben, vllt findet sich da was:

http://www.pictureupload.de/originals/pictures/220...

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marcel R. schrieb:
> Wenn ich das STK einschalte ohne den Programm Button zu drücken bekomme
> ich eine Verbindnung, mit Programm nicht

Das ist auch okay so. Der Program-Button dient nur dem manuellen 
Firmwareupdate. Lies doch mal die Doku zum STK500, die in der 
AVR-Studio-Hilfe zu finden ist.

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marcel R. schrieb:
> Wenn ich das STK einschalte ohne den Programm Button zu drücken bekomme
> ich eine Verbindnung, ohne nicht. confused

Bitte was? Ohne bekommst Du eine Verbindung und ohne nicht? Was denn 
nun? Drücke dich klar und verständlich aus!

http://www.mikrocontroller.net/articles/Netiquette

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

> confused!

Wenn du dein unsystematisches Vorgehen meinst, dann ja.

MfG Spess

Autor: Marcel R. (matze_89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Das ist auch okay so. Der Program-Button dient nur dem manuellen
>Firmwareupdate. Lies doch mal die Doku zum STK500, die in der
>AVR-Studio-Hilfe zu finden ist.

Mhm, ich hab mir das Handbuch auf der CD durchgelesen. Das hab ich dann 
wohl ganz falsch verstanden!

>Bitte was? Ohne bekommst Du eine Verbindung und ohne nicht? Was denn
>nun? Drücke dich klar und verständlich aus!

>Wenn du dein unsystematisches Vorgehen meinst, dann ja.

Entschuldigung.

Ich wollte damit sagen, dass ich eine Verbindung zwischen STK und
dem Studio herstellen kann, wenn ich nur das Board einschalte und weiter 
nichts verändere.
Wenn ich den Programm Button drücke, während ich das Board starte 
bekomme ich keine Verbindung.

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marcel R. schrieb:
> Ich wollte damit sagen, dass ich eine Verbindung zwischen STK und
> dem Studio herstellen kann, wenn ich nur das Board einschalte und weiter
> nichts verändere.

Dann funktioniert es doch auch :-) Dort solltest Du dann in der Lage 
sein den richtigen Controller einzustellen und dessen Signatur 
auszulesen. Wenn das klappt kannst Du ihn auch programmieren.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Mhm, ich hab mir das Handbuch auf der CD durchgelesen.

Das aktuellste findest du in der Hilfe zu AVR-Studio.

>Wenn ich den Programm Button drücke, während ich das Board starte
>bekomme ich keine Verbindung.

Weil dann der Bootloader für ein Firmwareupdate gestartet wird.

MfG Spess

Autor: Marcel R. (matze_89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für eure Hilfe/Geduld!

Es hat funktioniert, das LED Programm läuft.

Ich werd mir mal das übersetzte Handbuch zu Gemüte führen.

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marcel R. schrieb:
> Ich werd mir mal das übersetzte Handbuch zu Gemüte führen.

Mein Tip: Lern Englisch! Datenblätter übersetzt dir auch keiner. Im oben 
angesprochenen E-Technik Studium wirst Du übrigens auch nicht drumherum 
kommen :-)

Autor: Marcel R. (matze_89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Mein Tip: Lern Englisch! Datenblätter übersetzt dir auch keiner. Im oben
>angesprochenen E-Technik Studium wirst Du übrigens auch nicht drumherum
>kommen :-)

Ich such andauernd Datenblätter für Bauteile raus.
Das ist aber immer das selbe: Parameter, die Kurven,
Beispielschaltungen und halt die Maße von dem betreffenden Bauteil.
Da kann man sich eingewöhnen.
Da hast du Recht, dass ich noch was an meinem Englisch tun muss.
Vor allem auf das Fach bezogen, kennst du da passende Literatur?
Fachwörter...usw.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
und wo genau war das Fehler??
im dein erstes Bild ist der Power LED an aber der Target LED leuchtet 
nicht, wenn der Jumper (von Target) gesetz ist (wie in dein Bild) muss 
er auf alle Fehler leuchten.

Autor: Marcel R. (matze_89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Martin,

Ich habe 2 Fehler gemacht.

1. Ich habe die Firmware des STK überschrieben. Die kann man wie oben 
beschrieben wiederherstellen. Das hatte sich dadurch geäußert, dass beim 
einschalten des STK die Status LED nicht von rot über orange nach grün 
gewechselt hat.

2. Ich habe mich verlesen und gedacht, dass ich zum beschreiben des µC 
den Programm Button drücken muss. Man muss einfach nur das Board 
anmachen.

Hoffe das Hilft dir.

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marcel R. schrieb:
> Vor allem auf das Fach bezogen, kennst du da passende Literatur?
> Fachwörter...usw.

Ich persönlich denke, dass das Lesen von Fachliteratur (z.B. 
Datenblätter) dafür die beste Methode ist. Zum Übersetzen einzelner 
Wörter genügt eigentlich LEO. Ich habe hier zwar auch ein Fachwörterbuch 
für E-Technik von Langenscheidt liegen, aber das benutze ich doch eher 
selten.
In nächster Zeit wirst Du ja auch sicher häufiger hier rein schauen :-)
http://www.atmel.com/dyn/resources/prod_documents/...

Falls Du Interesse an einem guten Buch in Bezug auf Elektronik allgemein 
hast, dann schaue dir mal folgendes an (kann man ja auch erst einmal nur 
ausleihen):
Horowitz/Hill: The Art of Electronics
Das ist zwar mittlerweile schon etwas in die Jahre gekommen, aber meiner 
Meinung nach das englischsprachige Standardwerk schlechthin.

Viel Erfolg!

Autor: Marcel R. (matze_89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Falls Du Interesse an einem guten Buch in Bezug auf Elektronik allgemein
>hast, dann schaue dir mal folgendes an (kann man ja auch erst einmal nur
>ausleihen):
>Horowitz/Hill*: The *Art of Electronics*
>Das ist zwar mittlerweile schon etwas in die Jahre gekommen, aber meiner
>Meinung nach das englischsprachige Standardwerk schlechthin.

>Viel Erfolg!

Danke für den Tipp!

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Chris schrieb:
> Horowitz/Hill: The Art of Electronics

Also mich hat das nicht überzeugt.
Die Schaltungen sind nicht immer nachbausicher.
Ist quasi ein westlicher Hagen Jakubaschk.

Man sollte die Schaltungen nur als Anregungen verstehen und muß sie dann 
selber nochmal gründlich überdenken.


Peter

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.