Seite 1 von 1
Microcontroller Programmierung Einstieg
Verfasst: Di 09 Nov, 2010 10:04 pm
von oli1212
Hi,
ich würd demnächst gern etwas mit AVRs rumspielen und wollte mal Fragen ob ihr mir ein halbwegs gutes Programmiergerät empfehlen könnt, sollte über USB laufen .... oder ist es völlig egal welches ich da nehme ?
Und welche AVRs sind am besten für den Anfang zum lernen ?
Danke schonmal

Re: Microcontroller Programmierung Einstieg
Verfasst: Di 09 Nov, 2010 10:22 pm
von yosh76
Hi,
nach den klassischen Polin, Atmel und Easy Avr ISP Boards bin ich bei diesem hier gelandet:
http://www.tigal.com/1810
Ist zwar etwas teurer - hat aber alles on board und es lässt sich so gut wie jeder I/O beliebig routen. Alles LEDs,Taster etc sind schon vorgeschaltet.
Die Displays kommen extra und ich würde auch eine Erweiterungsplatine für eigene Entwicklungen mitbestellen.
Der Atmega8/Atmega16 ist für den Anfang schon top geeignet.
Re: Microcontroller Programmierung Einstieg
Verfasst: Di 09 Nov, 2010 10:46 pm
von lucas
http://shop.embedded-projects.net/index ... uppe&id=22
bin auch mit ATmega8 angefangen. Mit DIL kannste Prima auf dem Steckbrett basteln.
Re: Microcontroller Programmierung Einstieg
Verfasst: Di 09 Nov, 2010 11:01 pm
von oli1212
Danke für eure Antworten erstmal
also soviel wie das Tigal kostet möchte ich für den Anfang nich ausgeben, obwohl ich sagen muss, das sieht schon sehr schick aus

Vielleicht kauf ich mir das irgendwann, wenn ich schon etwas dazugelernt hab.
Aber das von lucas hört sich gut an ... kann man damit alle erdenklichen MC proggen ? Scheint ja nicht auf AVR begrenzt zu sein? Und wie läuft da die Programmierung bei einem Atmel z.B. Insystem über ISP ? ( Ich glaub ich muss mich erstmal vernünftig einlesen, hab jetzt erstmal ein Tutorial gelesen

) Mit welcher Software kann ich diesen Programmer nutzen ?
Re: Microcontroller Programmierung Einstieg
Verfasst: Di 09 Nov, 2010 11:21 pm
von thomasf
Hi,
den MKII klon kann ich sehr empfehlen. Sowiet ich weiß kann man die teile nach belieben umprogrammieren und somit auch JTAG anbieten.
AVR am einfachsten über die ISP.
Programmiersprachen gibt es einige:
- reines asm
- basic (bascom)
- c (win avr) / gnu
also kommt drauf an was du machen möchtest. bascom ist bei 2k programmspeichergröße kostenlos, c auch und asm sowieso.
zum prgrammieren empfehle ich das AVR-Studio da ist alles dabei und wenn du den MKII klon nimmst, kannst du daraus direkt den AVR flashen.
um mit dem AVR-Studio auch c programmieren zu können musst man win avr installieren, auch kostenlos.
zum anfang ist bascom recht einfach (gerade ansteuerungen wie lcd usw sind schon als bibliotheken vorhanden), soll es dann aber etwas tiefer gehen sollte man schon auf c oder evt. asm umsteigen.
an sich ist es egal mit welchem prozessor du von der AVR serie anfängst der befehlssatz ist der gleiche, änderungen liegen nur in der peripherie.
beste grüße und gutes geliegen
Thomas
Re: Microcontroller Programmierung Einstieg
Verfasst: Di 09 Nov, 2010 11:29 pm
von lucas
Würde gar nicht erst mit Bascom anfangen.
C ist hier erste Wahl! Und so schwer ist das mit dem Lernen gerade für AVR auch nicht.
Re: Microcontroller Programmierung Einstieg
Verfasst: Di 09 Nov, 2010 11:38 pm
von oli1212
Ja ich hatte auch vor mit C anzufangen , weil ich C schon kann (halbwegs)

vorher oder nebenbei will ich aber auch etwas mit Assambler arbeiten, ist denke ich ganz gut fürs Verständniss...
Re: Microcontroller Programmierung Einstieg
Verfasst: Mi 10 Nov, 2010 12:01 am
von xrayz
Also ich kann das soweit bestätigen.
Ich programmiere die Maikäfer schon eine ganze weile hier im Studium und auch privat. Die Programmierung in C ist am Besten überschaubar und später auch einfach nachvollziehbar. Nur wenn man merkt "Oh der Codeblock läuft aber arg langsam hier in C" wirft man mal schnell nen Blick in den ASM Code oder schreibt schnell die ASM Befehle direkt in den C Code rein.
Wobei ASM doch wirklich nützlich ist - gerade um zu verstehen was da passiert, oder um mal eben schnell ne externe Komponente zu initialisieren.
Gruß Max
Re: Microcontroller Programmierung Einstieg
Verfasst: Mi 10 Nov, 2010 6:28 am
von gento
xrayz hat geschrieben:Nur wenn man merkt "Oh der Codeblock läuft aber arg langsam hier in C" wirft man mal schnell nen Blick in den ASM Code oder schreibt schnell die ASM Befehle direkt in den C Code rein.
Hust
Und der Code läuft exakt keinen Takt schneller.
Gento
Re: Microcontroller Programmierung Einstieg
Verfasst: Mi 10 Nov, 2010 7:26 am
von nr_lightning
Hi
Das Thema Programmiersprachen

jeder Liebt seins, jeder Hasst das andere
Ich Persönlich Programmiere die Dinger in Bascom da ich VB bzw. VB.Net eh beruflich nutze, da ist der Syntax nicht weit von entfernt ...
Bei Bascom darf man nihct vergessen, es ist kein Basic Interpreter sondern ein Compiler !!!
Man darf desshalb Bascom Basic niemals mit Windows Basic ( das alte Basic nicht .Net ) Programmen vergleichen ...
Nachteil Bascom, der Maschinencode am ende ist nur so gut wie der Interpreter Programmiert wurde...
Bascom kann man aber auch schön paaren zwischen Basic Code und ASM Code zwischendrin, wenns mal schnell gehen soll

....
Wenn du schon bisschen C kannst dann bleib direkt dabei, ich denek C ist eine sehr gute Symbiose aus verständlichem Code gepaart mit Hardware naher Programmierung ...
Assembler ist natürlich das Idealste wenn es darum geht jeden Step den der Controler macht exakt zu bestimmen, Assembler ist sinnvoll wenn es um Extrem Scharfes Timing geht und man den Programmlauf Präzise nachvollziehen möchte. Aber es ist in meinen Augen die Schwerste Sprache zum Einstieg ..
Aber wie leicht oder Schwer eine Programmiersprache ist hängt von jeder Person selber ab, manche Leute Lieben den Assembler code weil er ihnen Totale Kontrolle verleiht

und ich mag mein Basic Code weil er mich mit den vielen Bibliotheken und übersichtlichem code schnell ans Ziel bringt.
Ich denek ein Absolutes Urteil darf man sich nur erlauben wenn man alle 3 Sprachen perfekt beherscht und all ihre Stärken und Schwächen kennt, von daher bin ich der meinung "Nimm das was dich am schnellsten zum Ziel bringt und deine Funktionen voll erfüllt " ....
LG Nico
Re: Microcontroller Programmierung Einstieg
Verfasst: Mi 10 Nov, 2010 8:09 am
von guido
nr_lightning hat geschrieben:
... und ich mag mein Basic Code weil er mich mit den vielen Bibliotheken und übersichtlichem code schnell ans Ziel bringt.
LG Nico
Damit bist du bei einem Problem gelandet was C++ genau so betrifft wie Bascom und auch nicht
weit entfernt vom letztem Platinen-Groupbuy ist.
TRAU KEINER BIBLIOTHEK DIE DU NICHT SELBER GEMACHT HAST !!
Klar gibts bei den Bibliotheken noch Unterschiede..ob nu z.B. direkt von Keil oder von
Harald Hobbypfuschers Homepage
Bascom: Für die meinsten "Quick and Dirty" Teile OK.
z.B. GetADC(Channel) macht genau das was es soll, wartet aber eben auf das "Ready"
Wer die paar verschenkten Zyklen braucht machts in ein paar Zeilen ASM
@Gento, frag mal John nach seinen Bascom - Erfahrungen. Die Watchdog Funktion die man ja
"ach so einfach" implementieren kann funktioniert bei manchen Prozessoren einfach gaaanich !
(Ja ich weiss, du benutzt einen externen, war ja nur ein Beispiel... )
Das Problem bei Bascom sehe ich eher darin das man nach ein paar Basic Zeilen sagt
"Ich kann Prozessoren programmieren..", aber im Grunde keine Ahnung hat was da eigentlich
intern passiert weil man das Datasheet nur bis zur Pinbelegung angesehen hat aber nie auf
die Registerliste gekuckt hat.
Re: Microcontroller Programmierung Einstieg
Verfasst: Mi 10 Nov, 2010 9:24 am
von nr_lightning
Hi Guido
guido hat geschrieben:TRAU KEINER BIBLIOTHEK DIE DU NICHT SELBER GEMACHT HAST !!
Jup ... da hast du recht !
Desswegen schrieb ich ja das man in Bascom auch im Mixed mode Arbeiten kann !
Bei meiner Safety z.b. mache ich genau das ... die ganzen if then Else geschichten sowie die Menüführung der Safety Settings und damit die LCD Ausgabe mache ich über Bascom ! Alle Zeitkritischen prozesse wie abfragen des ADC`s oder Setzen der Register mache ich garnicht über die Bibliotheken sondern setze alle Register per hand und habe sie damit unter kontrolle ... Ja ich als Basic Programmierer kenne sogar das Datenblatt und die zu setzenden Register
guido hat geschrieben:Das Problem bei Bascom sehe ich eher darin das man nach ein paar Basic Zeilen sagt
"Ich kann Prozessoren programmieren..", aber im Grunde keine Ahnung hat was da eigentlich
intern passiert weil man das Datasheet nur bis zur Pinbelegung angesehen hat aber nie auf
die Registerliste gekuckt hat.
Ja das stimmt, muss man immerwieder feststellen !
Aber das ist wie so oft im Leben oder !? Nur weil jemand am Lenkrad drehen kann und das Gaspedal erreicht ist er noch lange kein guter Autofahrerer ...
Ich mag nur diese pauschalisierten aussagen nicht wenn man sagt Basic Programmierer sind Dumm und C oder gar ASM Programmierer sind "Die" Programmierer

das kratzt an der Programmierer ehre
In meinen Augen ist es oft und einfach die Strategie nach der man sein Programm aufbaut welche über gut oder Schlecht entscheidet. Es gibt solche und solche in "ALLEN" bereichen. Ich habe schon C++ Programme gesehen welche so verbugt waren bzw. so besch..... Programmiert waren das man den Programmierer in den Hintern hätte Treten müssen ebenso gibt es sehr bescheidene VB oder Basic programmierer die aus lauter faulheit Basic Programmieren damit sie auch nur einen Teil von dem verstehen was sie da machen !
Aber es gibt auch die "Anderen" welche durchaus über den Tellerrand gucken und auf dem Laufendem sind ! Ich denek du verstehst was ich meine ...
guido hat geschrieben:...entfernt vom letztem Platinen-Groupbuy ist.
Wer ein ungetestetes Layout raus gibt ist in diesem falle selber schuld nichtwahr .... ich hätte es gewiss nicht gemacht ....
LG Nico
Re: Microcontroller Programmierung Einstieg
Verfasst: Mi 10 Nov, 2010 10:47 am
von VDX
... für den Einstieg ist auch die Arduino-Reihe sehr interessant - die IDE mit jeder Menge Beispielcode ist kostenlos/open-source, Flashen geht direkt über USB und die Boards gibt's mit Atmega328 schon ab knapp 20 Euro.
Hier die offizielle Arduino-Seite:
http://arduino.cc/
Ich habe die letzten Mini-Projekte mit dem Boarduino aufgebaut -
http://www.watterott.com/de/DC-Boarduino
Für die Programmierung und zur Kommunikation mit den Boards ohne USB-Port benötigst du noch ein FTDI-USB-Interface -
http://www.watterott.com/de/FTDI-Basic-Breakout-5V
... das geht mit RS232 aber auch noch günstiger
http://www.virtualvillage.de/1000m-600b ... 2-008.html
Viktor
Re: Microcontroller Programmierung Einstieg
Verfasst: Mi 10 Nov, 2010 12:28 pm
von karsten
Warum nicht mit dem Arbeiten was einem Atmel zur Verfügung stellt? AVR-Studio mit WinAVR (GCC) als Compiler und das Atmel Dragon-Board als Debugschnittstelle. Wer Geld über hat kann natürlich WinAVR auch gegen den IAR-Compiler (ca. 1800 netto für die LE-Version mit einjährigem Supportverrtrag) ersetzen.
PS: Basic-Programmen/-Programmiersprachen, insbesondere auf Embedded-Systemen, kann ich nichts abgewinnen.
Re: Microcontroller Programmierung Einstieg
Verfasst: Mi 10 Nov, 2010 12:49 pm
von nr_lightning
Hi
karsten hat geschrieben: Basic-Programmen/-Programmiersprachen, insbesondere auf Embedded-Systemen, kann ich nichts abgewinnen.
Das brauchst du ja nicht, aber hier wird grade schonwieder ein Interpreter mit nem Compiler verglichen ...
Es läuft ja kein Basic auf dem Atmel, das basic wird genau in den gleichen Maschinencode umgewandelt wie bei C oder Letztendlich ASM ...
Es kommt lediglich darauf an wie gut der Programmierer den Compiler Programmiert hat, denn so gut/Schlecht ist dann auch der Maschinencoder der hinten raus fällt ....
Nunja das soll ja auch keine Debatte darüber werden wer was am Besten findet und was das richtige ist ! Da kann man nämlich unendlich Disskutieren und man findet keine Lösung ....
Ich denke hier gibt es jetzt ja jede menge Impressionen
LG Nico
Re: Microcontroller Programmierung Einstieg
Verfasst: Mi 10 Nov, 2010 6:40 pm
von thunderbird76
Hallo
Ich spitze den Chip mit sowas ab.
http://www.fischl.de/usbasp/
Ist nicht das schnellste, aber funzt recht gut und es lässt sich selber basteln.........
Usb ist eh bessert, da man die "alten" Ports schon langsam suchen muss am PC.
Einen vollen Chip mit der passender Soft für den Loader könnte ich dir zukommen lassen. Evt. habe ich auch noch Prints.
Welches die beste Soft zum Progen ist lass ich mal dahingestellt, da diese Diskusion nie zu Ende kommen wird.
Siehe z.b. Microcontroller.net
Grüsse Thunderbird
Re: Microcontroller Programmierung Einstieg
Verfasst: Mi 10 Nov, 2010 8:11 pm
von mR.Os
Ich hab ein original Atmel ISP mk2 zum programmieren, da ich Treiber für 64bit gebraucht habe und dies das einzige System war was ich gefunden habe, was auch wirklich 64bit Treiber hatte (neben dem Atmel Dragon) die auch signiert waren.
Ist in nem schönen Gehäuse und ich kann es nur empfehlen.
Gruß
Andreas
Re: Microcontroller Programmierung Einstieg
Verfasst: Mi 10 Nov, 2010 11:13 pm
von dyak
Hi
Ich hatte auch mal das mySmartUSB MK2. Zum reinen Programmieren reichts, mehr hab ich damit auch nicht gemacht. Das billigste ist der selbstgebaute STK200 Programmer(ala Pony Prog) über LPT Port.
Ansonsten kann ich das STK500 empfehlen (leider kein usb aber alle Ports raußgeführt)
Oder das STK600, unterstütz auch PDI und JTAG, allerdings etwas teuer. Außerdem kosten die Adapterboards recht viel.
mfg Dirk
Re: Microcontroller Programmierung Einstieg
Verfasst: Do 11 Nov, 2010 2:15 am
von oli1212
Wow , danke erstmal für vielen Antworten
Joa ich schwanke jetzt zwischen dem besagten MK2 Klon und dem USBasp , hat letzterer irgendwelche Nachteile gegenüber dem MK2 Klon ? Laufen beide mit AVRStudio ?
Re: Microcontroller Programmierung Einstieg
Verfasst: Do 11 Nov, 2010 7:18 am
von thunderbird76
Hallo
Ich spitze mit "Khazama" die Mc ab. (Freeware)
Es spielt auch keine Rolle mit was du das "Hex" File in den Mc bringst.
Auch hast du den Vorteil, dass du so viele Programmer bauen kannst wie du willst und ihre Software selbst "updaten" oder gar ändern.
Zudem kann man sie gleich mit in das Projekt mit einbauen, sofern man dies benötigt.
Das diesen Kombination gut funzt, sieht man z.b. hier...............
http://www.laserfreak.net/forum/viewtop ... 36&t=49051
Grüsse Thunderbird
P.S. Falls du mal die Fuses verhauen hast, nützt dir ein HV-Programmer, dies ist aber ein anderes Thema....

Re: Microcontroller Programmierung Einstieg
Verfasst: Mi 01 Dez, 2010 12:20 am
von oli1212
Also ich hab mir jetzt dieses Ding hier gekauft :
USBAvr Lab
http://shop.ullihome.de/catalog/product ... ucts_id/67
Wenn ich wieder etwas Zeit finde werd ich mal meine ersten Gehversuche machen
Das USBAvr Lab scheint ein schickes Teil zu sein , sogar als Oszi bis etwa 100khz kann man es verwenden und noch für viele anderen Anwendungen, naja werd ich demnächst mal sehen wie das in der Praxis läuft.
Vielen Dank für eure Tips !
Re: Microcontroller Programmierung Einstieg
Verfasst: Mi 01 Dez, 2010 6:59 am
von gento
Keine gute Wahl.
Das Dingens ist normal nur ein Programieradapter.
Schwer vorstellbar das Du damit per Klimmzüge mißbraucht, glücklich wirst.
Gento
Re: Microcontroller Programmierung Einstieg
Verfasst: Mi 01 Dez, 2010 3:12 pm
von random
Hi,
wenns einfach sein soll ...
Hast du noch nen Parallelport an deinem PC? Dann aknnste dir mit nem SUB-D und ein paar Widerständen schnell nen PonyProg Adapter friemeln.
Der AVR war auch mein Einsteigerprofessor, ich finde ihn auch heute noch super geeignet zum lernen.
Als Umgebung hab ich damals WinAVR mit Notepad++ verwendet - AVR Studio konnte da nur ASM
PonyProg zum Programmieren ist ebenfalls frei.
Als Sprache empfehle ich C wärmstens, da hast du bei gutem Comfort die grösstmögliche Kontrolle über das System, kannst besser optimieren usw.
Als Page empfehle ich dir
http://www.mikrocontroller.net/ da wird auch über einige USB Adapter diskutiert. AVR Freaks ist warscheinlich die beste Page, aber englisch.
---
Mittlerweile arbeite ich mit ARMs (vorwiegend Cortex-M3), aber C ist geblieben, wurde um C++ erweitert, und schreibe Applikationen für PC und µC, und verwende mit Vorliebe Pointer wenn sinnvoll für hochperformante Anwendungen. Das Lernen von C und AVR war aber ein sehr guter Einstieg.
---
Mit BASIC hab ich mal angefangen, auf dem C64, dann wurde mir das zu langsam. Irgendwie grausts mir auch bei dem Gedanken, wenn da was rumtokenized auf dem µC. Mir fällt nur ein "ich brauch nur 1 token für print = 1 byte. Wie viele brauchst du in C ?"
Einziger positiver Gegenbeweis für BASIC, den ich kenne, ist HE Scan (so weit ich weiss). Durfte ich beim kleinen Treffen in BadAibling zum ersten Mal in Aktion sehen ^^
VG,
/th.
Re: Microcontroller Programmierung Einstieg
Verfasst: Mi 01 Dez, 2010 3:46 pm
von VDX
... ich habe mit GFA-Basic auf dem Atari und dem B51-Crosscompiler von Keil noch recht gute Erfahrungen zur Performance gehabt, bin derzeit aber auch eher mit C/C++ und Processing für die Arduinos am werkeln ...
Für einen schnellen Einstieg sehe ich immer noch den Arduino ideal, für Standardanwendungen ein C51-System und für mehr Leistung würde ich auch eher was um den Cortex-M3 herum auswählen ... obwohl es für den auch schon wieder einen Arduino-Port gibt
Viktor