hallo, ich will einen microcontroller in c programmieren und bin neu in der materie. und im moment suche ich noch nach dem passenden einstieg. mein bisheriger weg: ich habe das wiki-book c-programmierung gelesen. desweiteren bin ich gerade dabei das tutorial avr-gcc zu lesen (und hab schon einiges hinter mir). ausserdem habe ich bei mikrokontroller.net und an vielen anderen orten im netz gelesen und gelesen... jetzt dachte ich, dass ich soweit wäre und habe mir ein stk500 gekauft. es ist mit einen usb-2-rs232-adapter am rechner angeschlossen. ich verwende linux (debain lenny) und habe alle mögliche software installiert (u.a. avr-gcc, avrdude, eclipse mit avr-plugin,usw...). ich habe mich an zwei tutorials geübt: http://www.wiki.elektronik-projekt.de/mikrocontroller/avr/avr_eclipse_tutorial das zweite finde ich jetzt leider nicht mehr, aber es beschrieb das vorgehen mit konsolenbefehlen... so - jetzt endlich die frage: hat jemand eine weiteren tip für ein tutorial, mit dem ich es lernen kann, einen einfachen c-code zu erstellen und auf den controller zu laden? ich bin für jeden einstiegstip dankbar (gui oder konsole)... vielen dank und schöne grüsse
vorausgesetzt, du hast das avr-gcc tutorial nicht nur gelesen, sondern auch ausprobiert: besser als ein tutorial: verwende dein bisher angesammeltes wissen und mach ein eigenes kleines projekt, z.b. einen einfachen led-zähler mit 4 leds und 3 tasten (vorwärts, rückwärts, reset (nicht den controller, nur den zählerwert). wenn das geklappt hat, such dir eine neue - ein bisschen anspruchsvollere - aufgabe. falls du das tutorial aber nur gelesen hast, dann programmier die aufgaben nach (im assembler-tut gibts afaik ein paar mehr) möglichst OHNE auf die beispielcodes zu schauen (datenblatt!)
hallo, zunächst einmal vielen dank für die schnelle antwort! vielleicht habe ich mich missverständlch ausgedrückt: das programmieren habe ich zwar noch nicht drauf, aber da werde ich schon reinkommen. bisher fehlt mir der einstieg in das "wie" nach dem coden (kompilieren, linken, upload und der kram). als erster programm könnte ich ja z.b. die erste aufgabe aus dem gcc-avr-tutorial nehmen, aber wie wird der code zur maschinensprache und wie kommt er in den controller (in der theorie klar, aber wie in der praxis unter linux)? irgendwie bin ich mit dem theoriewissen und den man-pages von avr-gcc, avrdude usw allienbe überfordert. dafür suche ich ein tutorial oder sowas... (das gcc-avr-tutorial habe ich bisher nur gelesen, aber deshalb habe ich mir jetzt ja das stk500 gekauft - zum selber in der praxis ausprobieren) nochmal danke und grüsse vom anfänger
Guck dir im avr-gcc Tutorial mal "Makefile" an. Ist dieses korrekt kannst du mit make all das programm compilieren und mit make program auf den AVR brennen. Wichtig ist aber das im Makefile alles korrekt eingetragen wurde.
Ronald S. schrieb:
> Wichtig ist aber das im Makefile alles korrekt eingetragen wurde.
Was für den konkreten Fall bedeutet, dass
AVRDUDE_PROGRAMMER = stk500v2
AVRDUDE_PORT = /dev/ttyUSB0
eingestellt worden sind.
hallo ihr beiden, danke - so einen tip meinte ich! es leuchten jetzt zwar die leds an p2-p5, aber das ist ja ein fehler, um den ich mich selbst kümmern kann. zumindest hab ich jetzt etwas auf den controller geschickt und bin sehr happy! so - und jetzt kann ich mit dem avr-gcc-tutorial rumspielen... nochmals danke und schöne grüsse vom anfänger
An Fänger schrieb: > es leuchten jetzt zwar die leds an p2-p5, aber das ist ja ein fehler, um > den ich mich selbst kümmern kann. Sowohl die LEDs als auch die Taster am STK500 sind low-aktiv.
super info - danke. erstaunlich nur, dass led 6 und 7 nicht leuchten. aber da werde ich schon noch dahinter kommen... nochmal allen dank für die hilfe. grüsse vom anfänger
An Fänger schrieb: > erstaunlich nur, dass led 6 und 7 nicht leuchten. aber da werde ich > schon noch dahinter kommen... Vielleicht hat der Controllerport, den du benutzt hast, ja gar keine Bits 6 und 7? Nicht jeder Port an jedem AVR hat alle 8 Bits, das ist erst ab den 40-pinnigen Typen (aufwärts) dann gegeben. Selbst da gibt es Ausnahmen wie den Port G bei den 64- und 100-Pinnern. Dieser hat nur 5 Bit, da er Leitungen zusammenfasst, die bei den Vorgängertypen gar nicht als Portpins verfügbar waren (sondern nur als Sonderfunktion).
hallo jörg, auch diesmal wieder vielen dank. du hast natürlich wieder recht - wenn ich das datenblatt richtg lese, sind beim atmega8 pin B keine bits 6 und 7 vorhanden. es ist also alles richtig... du wirst in den nächsten wochen bestimmt noch einige "dumme fragen" von mir bekommen :-) danke und grüsse der anfänger
wenn alle deine weiteren fragen in der qualität wie die hier gestellt werden, sind es eigentlich keine dummen fragen und die chancen auf sinnvolle antworten stehen sehr gut. dass es keine "dummen fragen" gibt ist aber ein gerücht - gegenbeispiele: "schläfst du schon", "warum funktioniert die led nicht, wenn ich sie in die steckdose stecke", ... ;-)
Tu uns allen nur einen Gefallen dabei: neues Thema, neuer Thread. Dass du mal Probleme hattest zu verstehen, wie man einen STK500 unter Linux einbindet, interessiert niemanden mehr, wenn du eines Tages Rat suchst, um einen Hebdrehwähler an einen AVR anzubinden. ;-)
auch hier wieder danke für die hinweise - werde versuchen, mich dran zu halten... aber jetzt gibts erstmal noch ne frage in diesem thread: sehe ich das richtig, dass es sich bei dem hier vorgeschlagenen weg um isp und nicht um high-voltage-programming handelt? wenn ja: im stk500-manual steht, dass der jumper bsel2 dann nicht gesetzt sein soll (und das soll default sein). bei mir war/ist er aber (ab werk oder zumindest ab kauf) gesetzt. was nun tun? lassen oder wegnehmen (nach anleitung würde ich ihn wegnehmen, aber funktioniert hat es ja mit gesetztem jumper)? oder alles egal? (wenn es eine ausführliche erklärung im netz gibt, dann lese ich auch gerne die und niemand muss das erneut erklären. ich bin beim suchen nur noch etwas hilflos, weil all die begriffe so neu für mich sind und ich erst reinkommen muss...) danke und grüsse vom anfänger
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.