Forum: Mikrocontroller und Digitale Elektronik Einstieg in Atmel Programmierung


von Steffen S. (stes)


Lesenswert?

Bin neu im Forum, darum erstmal hallo an alle ^^

Ich würde gerne in das spannende Thema der µC-Programmierung einsteigen 
und habe in der letzten Woche ständig hier im Forum nach Tipps gesucht, 
was man sich als Einsteiger am besten zulegt etc.

Ich gebe zu: Ich bin nicht wirklich schlauer, sondern eher verwirrt :D

Das AVR-Tutorial habe ich mir mal angeschaut, ebenso die Artikel zu ISP 
etc. Zudem habe ich mir Atmels AVRStudio runtergeladen und ein paar 
einfache Assembler-Programme geschrieben & per Simulator ausgeführt.

Ich bin zwar kein totaler Anfänger wenns um Elektronik (und um 
Programmierung) geht und hatte ursprünglich geplant alles selbst 
zusammenzulöten, aber der Satz
"Man sollte sich einen fertigen, original Atmel (keinen Clone) 
ISP-Adapter kaufen. Zum Beispiel für ISP (und PDI) Programmierung Atmels 
original AVRISP mkII für rund 36,- Euro."
im ISP-Artikel hat mich dann doch dazu bewegt, mir das Teil mal genauer 
bei reichelt.de anzuschauen. Und ich denke: 37€ sind auf jeden Fall 
akzeptabel, wenn das Teil hält was es verspricht.

Ich plane jetzt folgendes:

- Entwicklungsumgebung AVRStudio (erstmal Assembler, später auch C mit 
WinAVR)
- AVRISP mkII
- Beschaltung Controller auf einem Steckbrett nach dem Schaltplan aus 
dem Tutorial

Jetzt meine Frage:
Wenn ich mir schon einen ISP-Programmer mit USB hole und das Geld 
investiere, will ich ihn auch auf meinem Laptop mit Windows 7, 64-bit 
zum laufen bekommen. Dabei sollen
1) keine Probleme bei der Ansteuerung auftreten
2) die USB-Ports nicht durchbrennen ^^

Wäre das dann für den geschilderten Zweck eine akzeptable Ausrüstung? 
Und vor allem: Anfängertauglich?
Und zuletzt: Kann ich damit "genug" Sachen programmieren, oder muss ich 
mir demnächst für einen anderen Controller direkt einen anderen Adapter 
zulegen? (laut Beschreibung eignet sich der AVRISP ja nur für 8-bit µC)

Ich hoffe ihr könnt mir helfen ;)

Gruß
stes

von Mike (Gast)


Lesenswert?

Erstmal Assembler, dann... keinen Kommentar!
Wenn Dich das schon überfordert, wie wäre es damit?

Kostet nur 23 Euro und ist alles bei.
http://www.watterott.com/de/Arduino-Duemilanove

Kann man auch vom AVRStudio mit Assembler oder C aus prgrammieren,
ist ja nix weiter als ein Mikrocontroller mit Bootloader.

von Tüll (Gast)


Lesenswert?

Steffen S. schrieb:
> "Man sollte sich einen fertigen, original Atmel (keinen Clone)
> ISP-Adapter kaufen. Zum Beispiel für ISP (und PDI) Programmierung Atmels
> original AVRISP mkII für rund 36,- Euro."

"Man sollte" solche religiösen Äusserungen nicht als absolute Wahrheit 
ansehen. Es gibt viele Programmer, nicht nur den einen originalen der 
funktioniert. Musst halt schauen was die können und was du brauchst.

Wenn ich jetzt neu mie µC anfangen würde, würde ich mir ein (oder zwei) 
Launchpad von TI besorgen. Der Preis ist unschlagbar und du lernst 
sowieso mit jedem µC etwa das selbe, die Fähigkeiten sind auch sehr 
ähnlich (zwischen AVR, PIC, TI etc.).

Arduino kaufen ist auch eine Variante. Du kannst mit der supersimplen 
Arduino Sprache anfangen und hast aber schon die Hardware um später 
normal mit C oder sonstwas auf dem AVR zu arbeiten.

von Steffen S. (stes)


Lesenswert?

Hallo,

vielen Dank für eure Antworten.

Mike schrieb:
> Erstmal Assembler, dann... keinen Kommentar!
> Wenn Dich das schon überfordert, wie wäre es damit?

Die Überforderung liegt eher in Sachen Hardwareauswahl :D Programmieren 
ist weniger das Problem, ich programmiere jetzt schon etwas länger C# 
und Java, C++ ist mir auch nicht komplett fremd und im Moment 
beschäftige ich mich eben mit Assembler-Programmierung, um einen 
besseren Einblick in die Hardware zu bekommen ^^ Schlussendlich wird es 
dann auf Roboter-Programmierung hinauslaufen...

Tüll schrieb:
> "Man sollte" solche religiösen Äusserungen nicht als absolute Wahrheit
> ansehen. Es gibt viele Programmer, nicht nur den einen originalen der
> funktioniert. Musst halt schauen was die können und was du brauchst.

Was sich für einen "Unwissenden" wie mich eher schwierig gestaltet :D 
Ich will mir schließlich auch nicht 10 Programmer kaufen und dann 
schauen was funktioniert und was nicht :D

Tüll schrieb:
> Wenn ich jetzt neu mie µC anfangen würde, würde ich mir ein (oder zwei
> Launchpad von TI besorgen. Der Preis ist unschlagbar und du lernst
> sowieso mit jedem µC etwa das selbe, die Fähigkeiten sind auch sehr
> ähnlich (zwischen AVR, PIC, TI etc.)

Habe mir das Teil mal angeschaut, sieht gar nicht übel aus.. Außer einem 
Controller bräuchte ich dann kein weiteres Zubehör oder? Wo bekomme ich 
das? Nur auf der Herstellerseite oder auch bei reichelt oder Conrad, ich 
finde da nicht wirklich was in der Richtung, nur teurere Programmer..
Und wenn ich mir abschließend noch eine Frage erlauben darf:
Mit welcher Ausstattung hast du denn begonnen? (Ich schließe aus deiner 
Formulierung "Wenn ich jetzt neu (...) anfangen würde ...", dass du eine 
andere Ausstattung hattest ;) )

Gruß
stes

von andy (Gast)


Lesenswert?

Hallo schau mal unter myavr.de unter programmer im online shop nach dem 
mySmartUSB light.Kostet 16 Euro,klappt einwandfrei unter 64bit und mit 
dem Studio.Dann noch einen mega,ein paar widerstände und leds und los 
gehts auf dem Steckbrett.

gruss
andy

von Steffen S. (stes)


Lesenswert?

Hallo andy,

danke für den Tipp, habe mir das Tool mal angeschaut, sieht ganz 
ordentlich aus, besonders wenn ich mir Abmessungen und Preis ansehe :D

Gruß
stes

von Florian (Gast)


Lesenswert?


von Tüll (Gast)


Lesenswert?

Steffen S. schrieb:
> Habe mir das Teil mal angeschaut, sieht gar nicht übel aus.. Außer einem
> Controller bräuchte ich dann kein weiteres Zubehör oder?

Das Launchpad kommt komplett mit allem was du brauchst um zumindest mal 
eine LED (on Board) blinken zu lassen. Sind auch schon zwei verschiedene 
µC dabei.

Hier zu bestellen:
https://estore.ti.com/Search.aspx?detail=1&k=MSP-EXP430G2

Wenn du Glück hast bekommst du es immer noch ohne Versandkosten. Also 
USD 4.30 total.


Ich hab damit angefangen (vor nicht allzulanger Zeit):
http://shop.myavr.ch/Programmer/mySmartUSB%20MK3.htm?sp=article.sp.php&artID=100058

Im gleichen Shop gibts auch einen wesentlich billigeren USB Programmer 
der auch ok ist, aber ich dachte halt ich will vom µC Nachrichten auf 
ein PC Terminalprogramm senden können für debugging (hab ich auch schon 
gebraucht), was das USB Teil nicht kann.

von Steffen S. (stes)


Lesenswert?

@Florian: Wie lange kann man denn problemlos mit so einem 
Parallelport-Kabel arbeiten, Hardwareschutz besteht dann ja nicht.

@Tüll: Also ich habe jetzt ernsthaft überlegt mir den mySmartUSB light 
zuzulegen, der ist preiswert, handlich und Win 7-kompatibel.
Wenn ich mir so ein Entwicklungsboard zulegen würde, könnte ich den 
Controller doch trotzdem auf dem Board programmieren und dann in die 
gewünschte Schaltung einsetzen, richtig?

von Steffen S. (stes)


Lesenswert?

btw: Hat jemand Erfahrung mit diesem Board gemacht:
http://shop.myavr.de/Baus%C3%A4tze%20und%20Platinen/myAVR%20Board%20light,%20Bausatz.htm?sp=article.sp.php&artID=200017

(myAVR Board light)?

Laut Beschreibung könnte ich dann ja einerseits auf dem Board arbeiten 
und andererseits den ISP-Anschluss benutzen.

von Uwe B. (derexponent)


Lesenswert?

Hi Steffen,

-ich hab das MK3 Board von myAVR und finde die DOKU
und Qualität gut

-mit dem light Board findest du bestimmt einen guten Einstieg
in die Materie, noch dazu zu dem Preis

wenn du C# schon kennst, kannst du gleich mit "C" anfangen
das "Bitgeklappere" für die Hardware bleibt dir
da auch nicht erspart ... aber du kannst komfortabler programmieren
als in Assembler

unter meiner Webseite "www.mikrocontroller-4u.de" findest
du Source-Code-Treiber falls du mal mit einem Thema
nicht weiterkommst

Gruss Uwe

von Mike (Gast)


Lesenswert?

Ich glaub das mit dem googeln müssen wir nochmal trainieren...

http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2

von Steffen S. (stes)


Lesenswert?

Danke für die Tipps ;)
@Mike: Ich arbeite dran ^^

Aber eine Frage: Macht es einen großen Unterschied ob ich mit AVR oder 
eben dem MSP430 + Launchpad anfange? Ich meine, die Grundstruktur ist ja 
eigentlich (?) dieselbe, oder?
Außerdem habe ich gelesen, dass der MSP430 ein 16-bit Controller ist, 
während der atmega8 ja mit 8-bit-Struktur arbeitet. Wirkt sich das in 
irgendeiner Weise wirklich ausschlaggebend auf die Programmierung aus?

Gruß
stes

von Helfer (Gast)


Lesenswert?

Ist gehupst wie gesprungen.

Du kannst vor der Investition in die Hardware bereits herunterladen und 
durchlesen

Doku des Herstellers (Datenblätter, Appnotes)
Toolchain zum Programmieren
Tutorials im Netz
Wikis im Netz
Foren im Netz

Mach dir eine Tabelle, was wo angenehmer ist, dann entscheidest du dich 
für die µC Familie, die bei dir die meisten Pluspunkte hat.

von 2ter Gast (Gast)


Lesenswert?

Die Atmels (harvard) und MSPs (von-neumann) unterscheiden sich in ihrer 
Architektur (details gibts bei google). Um beim AVR aus dem Flash zu 
Lesen muss dem C Compiler per Schlüsselwort mitteilen.  Das ist beim msp 
nicht so

Das Launchpad hat einen Debugger integriert. D.h. du kann dein Programm 
Befehl für Befehl in der IDE ausführen, schauen was passiert und z.B. 
Hardware-Register anschauen. Das Ganze kostet weniger als 10€ . Und wenn 
Du merkst, dass das Ganze keinen Spaß macht, hast Du weniger Geld 
versenkt.

TI bietet hierzu eine gute Entwicklunsgumgebung an, welche  bis zu 16KB 
Code kostenlos ist. Die freien Tools habe ich noch nicht benutzt. Da 
scheint aber wohl AVR mit den dem AvrStudio besser zu sein.

Ach ja man sollte sich ein längeres USB Kabel holen. Zusätzlich betreibe 
ich so USB Bastelgeschichten an einem aktiven USB-Hub in der Hoffnung 
bei einem Kurzschluss nicht die usb hardware vom pc zu killen. Wäre beim 
Notebook schon ärgerlich.

von Steffen S. (stes)


Lesenswert?

@Helfer: Habe bereits fleißig damit begonnen, auch mal die Software 
runtergeladen und nen bisschen programmiert.

@2ter Gast: Ja, vor allem der geringe Preis ist seeeehr gut ;) Software 
habe ich mir auch runtergeladen, aber mal ehrlich: Ich denke das 4kB 
bzw. 16kB Code fürs erste reichen, oder?

2ter Gast schrieb:
> Ach ja man sollte sich ein längeres USB Kabel holen. Zusätzlich betreibe
> ich so USB Bastelgeschichten an einem aktiven USB-Hub in der Hoffnung
> bei einem Kurzschluss nicht die usb hardware vom pc zu killen. Wäre beim
> Notebook schon ärgerlich.

Reine Vorsichtsmaßnahme oder hat das Launchpad etwa keinen 
Hardwareschutz? Ich hatte nämlich schon vor, dass an meinem Notebook zu 
betreiben. Einen aktiven Hub hätte ich allerdings sowieso, von daher 
danke für den Tipp ;)
Damit wäre dann ja auch die Stromversorgung beim Betrieb ohne PC 
sichergestellt, oder?

lg stes

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Steffen S. schrieb:

> Das AVR-Tutorial habe ich mir mal angeschaut, ebenso die Artikel zu ISP
> etc. Zudem habe ich mir Atmels AVRStudio runtergeladen und ein paar
> einfache Assembler-Programme geschrieben & per Simulator ausgeführt.

Versuch es mal mit C.
Assembler ist unwartbarer Mist, der hinter ein Compiler-Backend gehoert. 
Du musst wissen dass hier ein paar "Erleuchtete" herumlaufen, die 
glauben dass der Assembler die Erleuchtung ihrer Religion und ihr 
goettlicher Status ist, aber das solltest Du mal nicht ernst nehmen.

Greets,
Michael

von Floh (Gast)


Lesenswert?

> Assembler ist unwartbarer Mist, der hinter ein Compiler-Backend gehoert.

Ich warte nur noch auf die Zeit, in der es heißt
"C/C++ ist unwartbarer Mist, der hinter ein UML-Codegenerator gehoert."

In diese Richtung entwickelt sich die Softwarebranche grade, du sollst 
deine Gaedanken beschreiben und - Klick - ist der Code fertig. 
Jedenfalls in der Theorie :-)

von Steffen S. (stes)


Lesenswert?

@Micheal G.: Also ich finde Assembler eigentlich ganz spannend, vor 
allem weil man viel über die Hardware-Architektur lernt. Habe mich auch 
schon (etwas) mit der 8086-Assembler-Programmierung befasst.
Letztendlich wird es sicherlich bei komplexen Programmen auf C 
hinauslaufen, aber auf Assembler werde ich zunächst nicht verzichten, 
allein weil mich die Sprache interessiert ;)

von Simon B. (nomis)


Lesenswert?

Steffen S. schrieb:
> Ich würde gerne in das spannende Thema der µC-Programmierung einsteigen
> und habe in der letzten Woche ständig hier im Forum nach Tipps gesucht,
> was man sich als Einsteiger am besten zulegt etc.

Ich werfe nochmal die USB-AVRs in den Raum. Die lassen sich ohne 
Programmer via USB programmieren und man hat direkt eine Plattform die 
später dann ziemlich einfach an einen PC anzuschließen ist.

Das AT90USBKEY ist ein ziemlich gut ausgestattetes, günstiges 
Eval-Board, es gibt aber auch "kleinere" Boards, mit denen man schon 
viel anfangen kann.

Viele Grüße,
        Simon

von Mike (Gast)


Lesenswert?

>vor allem weil man viel über die Hardware-Architektur lernt...
Den Mist haben mir meine Profs auch immer erzählt, lag aber eher am 
Alter ;-)
Die kannten nur Röhren und Assembler.

Assembler allein reicht da nicht, wenn es genau wissen willst, musst Du 
dir die ganze Toolchain anschauen.

Aber mal ehrlich, musst Du ein Auto bauen können um es zu fahren?

Du brauchst Erfolge, das Projekt muss irgendwann mal laufen, sonst 
landet das Teil bald wegen Bockmangel in der Ecke.

Schau Dir lieber die Features des Controllers an, suche einen der 
möglichst deine zukünftigen Projekte abdeckt.

Hier im Forum wirst Du eine Präferenz für Atmel finden, ich denke daher 
fährst du mit einem Atmelcontroller besser in Bezug auf die Fragen die 
du dazu haben wirst.
Notfalls tut es nen Mega328, 3Cs und nen Quarz. Warum nich 8,88 oder 
168?
Besseres Preis-/Leistungsverhältnis.

von 2ter Gast (Gast)


Lesenswert?

Steffen S. schrieb:
> Reine Vorsichtsmaßnahme oder hat das Launchpad etwa keinen
> Hardwareschutz

Was erwartest, was Du noch alles für ca. 5,00USD bekommst :-). Viel Spaß 
beim Entscheiden...

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.