Mahlzeit, seit einigen Wochen lese ich nun schon im Stillen mit und merke wie meine Interesse am Programmieren von Mikrocontrollern stetig steigt. Da ich ein absoluter Neuling auf dem Gebiet bin, weiß ich nicht mit was man am besten starten sollte. Von meiner Seite wäre mir ein bereits „vollständiges“ Board am liebsten, also eines bei dem erst einmal nichts gelötet oder zusätzlich gekauft werden muss (außer es sind Kleinigkeiten). Mein Budge für das Ganze umfasst etwa 70-100€, wobei mir natürlich lieber wäre, wenn es auch günstiger geht. Informationen über die Programme, die für die jeweiligen Boards am sinnvollsten sind, würde ich ebenso begrüßen. Gruß Neuling P.s. Bitte ein wenig Nachsicht, falls ich irgendetwas falsch formuliert habe, da ich nicht euer Know-how besitze.
UnendlichHoherPotentialtopf schrieb: > Hi, > > ich habe jetzt hier seit 6Wochen still und leise mitgelesen und will > jetzt selbst beginnen. Bist du der selbe TO?
Dennis S. schrieb: > STK500 Und wieso gerade diesen? Was unterscheidet ihn von anderen und macht ihn dadurch anfängerfreundlich? Jan V. schrieb: > Bist du der selbe TO? Nein bin ich nicht, aber er besitzt einen interessanten Betragsanfang Kopfschüttel
Wenn du schon ein wenig Elektronik-Erfahrung hast, und nun nur noch µCs "dazunehmen" willst: Breadboard, ein paar nackte AVRs (z.B. Atmega328). Dazu ein Billig-ISP (China-USBasp-Clone z.B.). Und "Hühnerfutter", also ein paar Widersände, LEDs, Kondensatoren, was halt in der Bastelkiste fehlt. Dazu evtl. noch ein LCD, ein USB->Seriell(TTL-Pegel)-Wandler-Platinchen, meinetwegen ein 3€-"Arduino-Kompatibles"-Atmega-Platinchen. Kommst so mit deinem halben Budget aus, hast aber eine etwas steilere Lernkurve...
Wenn dir nichts an löten und den Details liegt: http://www.amazon.de/Anf%C3%A4ngerset-Mikrocontroller-Breadboard-Starterset-Starterkit/dp/B00CR1FAS2/ref=sr_1_1?ie=UTF8&qid=1422456134&sr=8-1&keywords=arduino+uno+kit Das schöne am Arduino ist dass man so sehr in die Details gehen kann wie man mag, alternativ aber auch alles mit Library X für Sensor Y gelöst bekommt wenn man nicht so genau wissen will was da eigentlich läuft. Thomas PS: Natürlich lernt man am meisten wenn man sowas selber am Steckboard zusammenbaut und dann mal direkt im Byte 0 mit AVR Assembler ein paar Sachen reinschreibt. Am besten komplett ohne Compiler oder das ganze Zeugs. Aber das ist halt auch ein bisschen aufwendiger :-) (und geht mit einem Arduino Uno auch, wenn man mag. Man braucht halt noch einen Programmer in dem Fall)
Danke Thomas, das sieht doch schon mal sehr interessant aus, einerseits anfängerfreundlich und andererseits bietet es auch die Möglichkeit tiefer in die Materie einzusteigen. Preislich liegt es auch optimal.
Bestelle Dir gleich noch einen ISP Programmer dazu, den wirst du sehr bald brauchen - nämlich wenn du dich von der Arduino GUI trennst oder "nackte" Mikrocontroller benutzen wirst. Zusätzlich könnte das folgende Set von Interesse sein: http://www.amazon.de/SunFounder-Project-Starter-Arduino-Mega2560/dp/B00D9M4BQU/ref=sr_1_2?ie=UTF8&qid=1422456891&sr=8-2&keywords=arduino+kit
Neuling schrieb: > Dennis S. schrieb: >> STK500 > > Und wieso gerade diesen? Was unterscheidet ihn von anderen und macht ihn > dadurch anfängerfreundlich? Es erfüllt alle deine Anforderungen (wie VIELE andere auch): - "vollständiges Board", CHECK - "nichts gelötet", CHECK - "außer es sind Kleinigkeiten" ---> evtl. RS232-USB-Wandler - "Budge für das Ganze umfasst etwa 70-100€", CHECK Als Software das AVR-Studio und du wirst so gut wie keine Einstiegshürden haben. Gruß Dennis
:
Bearbeitet durch User
Dennis S. schrieb: >> Dennis S. schrieb: >>> STK500 >> >> Und wieso gerade diesen? Was unterscheidet ihn von anderen und macht ihn >> dadurch anfängerfreundlich? Es erlaubt außerdem das einfache Zurückstellen von total "verfusedten" Controllern. (Sch... Denglish) Das braucht man im Anfängerstadium nicht allzu selten.
Okay jetzt bin ich gerade etwas überfordert welches Board ich nehmen soll. Die Vorschläge von Thomas, Dennis und Stefan sehen alle sehr interessant aus, auch wenn das von Stefan, auf den ersten Blick, deutlich mehr negative Rezensionen als das von Thomas besitzt.
Naja, es ist so ein bisschen eine Glaubenssache. Für viele ist alles was mit Arduino zu tun hat nur Spielzeug und für andere eine gute Möglichkeit fürs Prototyping. Da du ja selber sagst, dass du absoluter Neuling bist, wirst du erstmal eine LED blinken lassen. Das geht mit JEDEM der Boards. Gruß Dennis
Das von Stefan war nur ein ZUSATZset mit ein paar extra Teilen. Da ist kein Mikrocontroller dabei. Der Unterschied zwischen dem STK500 und Arduino ist. STK500 Vorteile: - Professioneller - Kann mehr verschiedene Atmel Chips - Braucht keinen extra ISP-Adapter mehr STK500 Nachteile: - Teurer - Geht hauptsächlich mit AVRStudio (und damit Windows) Arduino Vorteile: - Günstiger - Einfacher Arduino Nachteile: - Ist mehr auf Laien getrimmt - Würde einen extra ISP brauchen wenn man es professionel verwenden wollte Professionell bedeutet übrigens: - Kein Bootloader der das programmieren direkt über USB erlaubt - Keine riesigen Programmcodes (Libraries) die einiges einfacher, dafür aber langsamer machen
Ich würde Wert auf einen Debugger legen! Viele Boards haben diesen bereits (per USB) on board. Ohne ist nicht mehr zeitgemäß und man ist ständig am orakeln, warum nichts geht. z.B. die STM32 Discovery boards.
:
Bearbeitet durch User
Nichts für ungut, aber wenn ich ein Board nicht für Anfänger empfehlen würde dann ists das STM32 Discovery. Klar, ein Debugger ist super, und beim Arduino hat man keinen (bin mir auch grad nicht sicher wie weit der Atmega 328P Debugging unterstützt) aber die ganze STM32 Welt finde ich außerordentlich komplex. Bis ich da überhaupt mal die Entwicklungsumgebung + Debugger am laufen hatte. Klar, das Teil ist mächtig und super günstig - aber zum ersten Kontakt mit Mikrocontrollern gleich ein ARM Monster ? Alleine wenn ich an den Startupcode denke... So ein AVR hat seine Clock fest gesetzt (Fuses) und läuft ab Byte 0 los (ISR kann man ignorieren), und was musste man nochmal alles tun bis das Discovery sein erstes Blink tut? Mag sein dass das mittlerweile in den Untiefen von Librarys versteckt ist, aber ich glaube mich dunkel an das Setzen der Clocks, das aktivieren der Stromversorgung der Clocks und an einiges mehr zu erinneren... Thomas
... ganz nebenbei ist der Simulator im AVR Studio durchaus geeignet um die Internals eines AVRs zu verstehen...
Thomas schrieb: > Bis ich da überhaupt mal die Entwicklungsumgebung + Debugger am laufen > hatte. In dem Punkt muß ich dir widersprechen. em::Blocks installieren und loslegen. Das wars. Aber den STM halte ich für einen absoluten Anfänger auch ein wenig zu komplex. Kommt allerdings auf seine Auffassungsgabe an. Also ein Fehler ist es nicht, heutzutage mit 32bit anzufangen. Ich wünschte auch, ich hätte schon viel eher damit angefangen...
@npn: Da möchte ich dir keinesfalls wiedersprechen. Ich hab damals Coocox (oder so ähnlich) genommen, weil es alternativ nur kostenpflichtiges gegeben hatte. Das war ein steiniger Weg, und ich gehe schwer davon aus dass es mittlerweile deutlich einfachere Wege gibt. Trotzdem ist das STM32F4 schon echt ein dickes Gerät mit viel Power und Komplexität dahinter.
Soweit ich weiß, kann man bei ATMega auch Debugger zukaufen. Diese sind nach meinen letzten Informationen aber nicht grad billig. Man korrigiere mich bitte. Und es muss einen entsprechende Debug-Schnittstelle vorhanden sein. (Dürfte beim STK500 der Fall sein.) Mit CooCox kann man mittlerweile auch schnell ein sofort lauffähiges Projekt zusammenklickern. Man mag über diese IDE meckern wie man will. Aber sie bietet genau das, was Du empfiehlst -> wenig Einstellungen == einfacher für Anfänger. Grad ST ist durch seine ST Peripherie Library recht Anfängerfreundlich. Und ja, man sollte nicht gleich beim Einstige am Startup Code oder an den Linker Settings rumfummeln. Aber das dürfte beim ATMega auch so sein. Aber es wäre schon interessant, wenn sich noch relativ frische Neueinsteiger dazu äußern würden. > Arduino Nachteile: > - Ist mehr auf Laien getrimmt Da es um einen Anfänger geht, würde ich dies in diesem Fall nicht als Nachteil auslegen.
Thomas schrieb: > ... ganz nebenbei ist der Simulator im AVR Studio durchaus geeignet um > die Internals eines AVRs zu verstehen... Für den Anfang sicher gut. Aber mein letzter Stand ist, dass nicht jede Hardwarekomponente simuliert wird. Und genau damit hat man im zweiten Schritt seine Probleme. (erster Schritt: GPIO blinken lassen)
Ich würde auch nie mehr ohne Debugger arbeiten wollen. Bisher habe ich noch nichts mit Atmel Kontrollern gemacht, aber ich überlege mir auch gerade ob ich ein Programmier/Debug Tool anschaffen soll. Was meint Ihr zu den ATMEL ICE Varianten hier: http://shop.embedded-projects.net/programmer-debugger/avr Kann ich mit dem Basic oder gar der nackten Platine die meisten Kontroller programmieren und debuggen ? (Sieht für mich so aus)
ich werf mal das pickit 3 debug express in den thread da hast du ein demo-board und einen programmer/debugger den du auch für alle anderen PICs verwenden kannst
Steffen Rose schrieb: > Ich würde Wert auf einen Debugger legen! > Ohne ist nicht mehr zeitgemäß und man ist ständig am orakeln, warum > nichts geht. Hab ich noch nichts von bemerkt. Programmierer der alten Schule wissen sich auch so zu helfen, erst recht auf so nem einfach zu durchschauenden und zu beherrschenden Ding wie nem AVR.
Pffffff, ich haben auch mal so angefangen. Controller programmiert in die Schaltung eingesteckt. Mist das tut gar nicht genau so wie ich es mir vorgestellt hatte.? Ab in das UV Löschgerät und der nächste Versuch ... Mann bin ich froh, dass die Zeiten vorbei sind !
Ich hoffe der TO hat sich mittlerweile schon einen Arduino (den es an jeder Ecke gibt) gekauft, die IDE (die verhältnismäßig klein ist und die es für Mac/Linux/Windows gibt) mit ein paar Klicks installiert, mit zwei Klicks eines der mitgelieferten Beispiele (ich denke ja Blink) geladen und mit noch einem Klick seinen Arduino dazu gebracht das Programm laufen zu lassen. Ich muss zugeben dass ich mich mit PICs nicht sonderlich auskenne, aber ich bezweifle sehr dass es mit PIC, STM32 oder STK500 so schnell und einfach geht. Und gerade als Linuxianer ist es schon praktisch dass die Arduino IDE in den meisten Distributionen direkt in den fertigen Paketquellen ist. Ja, die IDE ist lächerlich simpel, aber für Anfänger* imho wirklich eine sehr kleine Hürde. Thomas * Hier alternativ "Rapid Prototyping" einsetzen, was soviel heißt wie: Ich mach das jetzt schnell irgendwie, richtig mach ichs dann später (also nie)
Ich finde nen Arduino fUrn Anfang nicht schlecht. Man kann bei Inzeresse tiefer eintauchen, es ist simpel aber man sieht auch schneller mal ein Ergebnis. Man kann ihn als ISP Programmer verwenden wenn man selbst mal einen AVR programmieren will... Wenns doch was zu löten seindarf kann ich den Asuro sehr empfehlen. Die Schaltung ist super erklärt man hat Infrarotkommunikation, Schalter, Sensoren, Leds und Motoren dabei. Am Ende hat man einen erweiterbaren Roboter den man programmieren kann und an dem man jedes Bauteil kennt. Für 75 Euro. Alles andere find ich nicht sehr anfängerfreundlich. Es gibt einen Grund warum Arduino so ist wie es ist.
Wenn du dich länger ohne sichtbaren Erfolg einarbeiten kannst, dann rate ich dir zu STM32. Günstiger gehts nicht. Es gibt gute Bücher (Englisch ist nicht so wild) Die Discovery Kits sind da echt praktisch und es gibt eine Menge an Beispielen. Ansonsten hol dir ein Arduino.
asdf schrieb: > (Englisch ist nicht so wild) Sagt jemand, der den Durchschnittsbildungsstand in D nicht kennt. > Ansonsten hol dir ein Arduino. Pädagogisch völlig sinnlos.
@Neuling: Das ganz oben genannte Set http://www.amazon.de/Anf%C3%A4ngerset-Mikrocontroller-Breadboard-Starterset-Starterkit/dp/B00CR1FAS2/ref=sr_1_1?ie=UTF8&qid=1422456134&sr=8-1&keywords=arduino+uno+kit hat übrigens viele Geschwister: http://www.funduinoshop.com/epages/78096195.sf/de_DE/?ObjectPath=/Shops/78096195/Categories/Category1 Die Anleitungen gibt es hier: http://funduino.de/index.php/anleitung Schau Dir also diese einzelnen Anleitungen an und wähle aus, was Dich davon interessiert. Und dann kannst Du Dir das dazu passende Set besorgen, das jeweils alle dazu nötigen Teile enthält. Das Preis-Leistungsverhältnis scheint mir auf den ersten Blick jedenfalls recht anständig zu sein.
Vielen Dank an alle, werde mir wohl als erstes eines von den Sets holen und dann im laufe des Jahres noch den STM32. Grund dafür ist, dass ich gerade am Anfang einen Leitfaden haben will und wenn dann alles sitzt kann ich immer noch auf STM32 oder ähnlichem wechseln.
asdf schrieb: > Wenn du dich länger ohne sichtbaren Erfolg einarbeiten kannst, dann rate > ich dir zu STM32. Günstiger gehts nicht. Es gibt gute Bücher (Englisch > ist nicht so wild) Empfehlung? Gerade speziell zu den STM32 konnte ich noch kein einziges Buch finden...
Umso länger ich gerade darüber nachdenke, umso mehr komm ich in "Versuchung" den STK500 zu kaufen, er scheint mir ein gutes Mittel zwischen dem recht einfachen Arduino-Set und dem recht komplexen STM32. Haltet ihr den Kauf für sinnvoll? Tutorials scheint es ja einige zu geben und sollte somit eigentlich auch für einen Neuling handhabbar sein, oder? C und Assembler Vorkenntnisse sind in einem überschaubaren Rahmen vorhanden.
Kauf dir doch einfach ein STM32F4DISCOVERY für 15€, Installier dir CooCox (die alte V1.7.7) und teste ob du mit den Beispielen von http://mikrocontroller.bplaced.net/wordpress/?page_id=744 klar kommst. Wenn nein, kannst du dir ein STK500 kaufen. So hangelst du dich vom günstigen zum teuren vor.
Thomas schrieb: > Arduino Nachteile: > - Ist mehr auf Laien getrimmt > - Würde einen extra ISP brauchen wenn man es professionel verwenden > wollte Das ist nicht ganz richtig. Er kann sich durchaus einige Arduinos bestellen. Vorzugsweise die Nanos und die auf ein Steckbrett stecken. Dann kann er sie auch über den vorhandenen ISP Anschluss programmieren. Also meine Empfehlung: Kaufe dir einige Breadbords, einige Arduino Nano (aus China, für um die 3 Euro) Jumperkabel und ein paar Leds. Dazu noch ein Widerstandsset (ih hatte meins von Conrad und das deckte erstmal alle Übungen ab). Multimeter ist das mindeste was du brauchst. Aber dann kannst du schon mal was machen.
Neuling schrieb: > C und Assembler Vorkenntnisse sind in einem überschaubaren Rahmen > vorhanden. Wenn diese Kenntnisse vorhanden sind würde ich Arduino tunlichst meiden - höchstens parallel damit arbeiten für schnelle Ergebnisse. Einstieg in C und/oder Assembler ist dann ja möglich. Ich kann folgenden Lehrgang wärmstens empfehlen: http://weigu.lu/a/index.html Ich denke aber auch, dass für den Einstieg das STK500 nicht notwendig ist - ein paar µCs als DIP, ein ISP-Programmer dazu und fertig. Wenn du aber andererseits über das Budget verfügst, kannst du dir auch gleich ein STK500 zulegen womit dir dann vermutlich (ich besitze keines) ein paar Fallstricke erspart bleiben.
Wenn ich mir das STK500 so ansehe, dann kommt es mir irgendwie veraltet vor. Keine USB Schnittstelle zum programmieren ? Wie ist das mit dem Debuggen ? (in der Beschreibung kommt das Wort vor, aber nur ein mal...) Ich würde auch für ein getrenntes System aus Programier/Debug-Tool und einer einfachen Platine oder Steckbrett plädieren !
ich würde evtl ein nucleo board nehmen ... oder die LPC xpresso bzw die discovery boards wenns AVR sein soll auch die Xplained boards wobei ich aber eher in richtig ARM0 evtl M3 schielen würde die dinger laufen recht einfach und kosten kaum was gerade die debugmöglichkeit ist als anfänger enorm wichtig arduino hab ich mir selbst mal angeschaut .. ich finde das gruselig zumal es von STM / NXP oft eine frei version der bevorzugten IDE gibt wo das ding erstmal out of the box funktioniert. installieren , anschließen , läuft ... und dann schritt für schritt das blinky usw ... wenn man dann mal blut geleckt hat ... kann man ein größeres demoboard holen wenn man dann dochmal evtl was mit LAN/TFT machen will geht das billig auch sowas: http://www.hotmcu.com/lpc1768minidk2-development-board-28-tft-lcd-p-12.html?cPath=1_21
Neuling schrieb: > Umso länger ich gerade darüber nachdenke, umso mehr komm ich in > "Versuchung" den STK500 zu kaufen... Mache es nicht. Das war bei meinem Einstieg der erste Programmierer und liegt nur in der Ecke. - Es ist Groß - Unflexibel - Unkomfortabel - Benötigt Netzteil - Nur RS232 Übertragung Nee, nicht für den Einstieg. Ich finde immer noch, das zum Einstieg ein AVR ISP MK2 gehört. Ist zwar teurer als eine Bastellösung, aber sehr schnell und unproblematisch. Eine wirklich wichtige Basis für ATMEL Controller. Alles weitere ist dann Geschmackssache. - Breadbord und selbst zusammenstecken - Sich auf Lochraster was aufbauen - Was Fertiges kaufen, was Spaß macht (z.B. Pollin Spiel 1 oder Ping Pong von Franzis). Beides hat einen ISP-Anschluss und kann frei programmiert werden. - Arduino ist auch praktisch, weil es eine RS232 über USB besitzt und auch einen ISP-Anschluss hat. So kann man auch mit dem Arduino die ATMEL-Software verwenden und hat über USB sowohl eine RS232 als auch die Stromversorgung. Die Arduino-Software ist dann nicht notwendig. Meine Empfehlung für hohe Flexibilität ohne viel zu Löten: - AVR ISP MK2 (Basis für alles) - Arduino UNO (über ISP programmieren) Die Kombi macht wesentlich mehr Spaß als ein STK500. Und der AVR ISP MK2 ist auch im fortgeschrittenen Level die erste Wahl.
Für mich kommt das STK500 nicht in Frage, weil es keinen Debugger enthält und keine USB Schnittstelle hat. Für den Preis ist mir der Nutzen zu gering. Da nehme ich lieber billigen Arduino Clone (oder irgendein anderes Atmega Modul) nehmen, sowie einen eventuell einen Atmel Dragon. Ich glaube allerdings, das die Frage nach dem Debugger überschätzt wird. Ich hatte mir wegen einem konkreten Problem einen Dragon gekauft und er hat mir dabei auch geholfen. Aber davor brauchte ich Jahrelang keinen Debugger und danach habe ich ihn auch nie wieder gerbaucht. Was ich jedoch quasi ständig nutze, sind Debug Meldungen, die ich über einen seriellen Port ausgebe und mit dem Laptop anzeige. Mein popeliger USB-UART Adapter ist mir viel mehr ans Herz gewachsen, als der Debugger.
Stefan Us schrieb: > Ich glaube allerdings, das die Frage nach dem Debugger überschätzt wird. Gerade für Anfänger finde ich es wesentlich effektiver einfach mal hinein zu schauen und zu sehen was passiert, als das ganze theoretisch überdenken zu müssen.
Volker SchK schrieb: > Stefan Us schrieb: >> Ich glaube allerdings, das die Frage nach dem Debugger überschätzt wird. > > Gerade für Anfänger finde ich es wesentlich effektiver einfach mal > hinein zu schauen und zu sehen was passiert, als das ganze theoretisch > überdenken zu müssen. Ich denke auch dass der Debugger überschätzt wird. Der Anschluss eines Debugger wird sogar unterschätzt. Denn ein ISP-Anschuss ist dafür nicht geeignet. Hardware-Debugger ist nichts für Einsteiger.
Hi Dann will ich mal zur Verunsicherung beitragen und das Pollin Board in die Runde werfen. Einfach mal bei Pollin das Evaluationsboard suchen. Dazu ein ISP-USB Programmierstick. Warum? Nun, mit der seriellen ISP-Schnittstelle (Sub-D 9) wirst du nicht glücklich. Zur Hardware gehört auch immer eine Spannungserzeugung. Einfach ein Steckernetzteil 12 V dazu. Kosten für Board, ISP-Stick und Netzteil etwa 40 €. Für den Basteltisch reicht eigentlich ein billiges Multimeter, aber ein qualitativ gutes Messgerät sollte man wenigstens besitzen. Ich habe die billigen eben nur als zweit- bzw.Drittgeräte. Was ist noch erforderlich? Also, das Pollinboard würd ich als Bausatz bestellen und zusätzlich die 40 pol. Fassung gegen eine Textool austauschen. Ein 40pol. IDE-Flachkabel gibts auch für ein paar Cent, um damit die Verbindung zu einem Steckbrett herzustellen. Dabei einfach die Buchse mit einem geeignetten kleber am Steckbrett befestigen.Einlaminierte Skizzen der Buchsenbeschaltung für die verschiedenen Controller lassen sich auch auf dem Flachkabel mittels Klettband anbringen. Hinzu kommt noch ein USB- RS232 Konverter, um die serielle Schnittstelle auf dem Board mit einem PC zu verbinden. Widerstände, Kondensatoren, LED, Transistoren, Dioden und Relais runden den Bastelbedarf eerst mal ab. Aber, ob du mit 100 € auskommst? Mir ist es bisher nie gelungen, bei Bestellungen ein gesetztes Limit einzuhalten. Wenn man bei den einschlägigen Elektronikhändlern in den Katalogen blättert, stellt man sehr schnell fest, das dies oder das noch benötigt wird. Ach ja, es wird vermutlich auch wieder behauptet, das Pollin-Board sei schlecht. Na ja, ich bin damit zurecht gekommen und finde es durchaus interessant, zumal die Platine auch in ein Endgerät eingebaut werden kann, wenn genügend Platz ist. Aber wenn man erst einmal weiß, was man mit µC so alles machen kann, wird man eventuel doch auf Chinaprodukte zurückgreifen, die dann lediglich noch etwas Peripherie und Programm bekommen. Egal, zu welchem Anfangsset du dich entscheidest, es wird insgesamt wesentlich teurer wie 100 €. Gruß oldmax
:
Bearbeitet durch User
Martin, ich bezweifel, dass das wirklich der beste Einstieg (!) ist, wenn ich nach einigen Monaten mal mehr Erfahrung besitze, werde ich gerne auf deine Tipps zurückgreifen, daher großes Danke für die ausführliche Hilfestellung. Ich werde mir wohl wirklich zuerst ein Arduino UNO Board besorgen und wenn mir dieses nicht mehr ausreicht auf STM32, STK500 oder ein Evaluationsboard von Pollin zurück greifen. Danke an alle, war mir eine große Hilfe, auch wenn ich teilweise mehr verwirrt als erleuchtet geklungen habe ^^
Also WENN du Student an meiner Hochschule wärst, dann würde ich dir dieses Board empfehlen. Können die S. für 10€ Unkostenbeitrag als Bausatz erwerben. Der Programmer/Debugger (das rote Teil das da oben ansatzweise zu sehen ist) dürfte so um die 40€ kosten. <edit> Uuups, wieder mal zu spät ;-) Der Vollständigkeit halber: - Platine - Controller - LEDs - Taster - Drehgeber - PiezoSummer - Poti (Einsteller) - LCD-Display - USB-Seriell Konverter - Steckplatz für Bluetooth Modul, Temp. und Feuchtigkeitssensor, EEPROMs, GPS, DAC, RGB LED, Beschleunigungssensor ...
:
Bearbeitet durch User
Ich denke auch, dass ein Arduino zum Einstieg am besten geeignet ist. Die Teile sind schon für unter 20 Euro zu bekommen und über USB-Bootloader beschreibbar. Nicht nur für den Einstieg finde ich die Teile einfach genial. Hätte es das doch mal vor 15 Jahren so gegeben wie heute…ok, ich hätte dann wohl auch keine Platinenätzanlage zu hause :D
Volker SchK schrieb: > Also WENN du Student an meiner Hochschule wärst, dann würde ich dir > dieses Board empfehlen. Können die S. für 10€ Unkostenbeitrag als > Bausatz erwerben. > Der Programmer/Debugger (das rote Teil das da oben ansatzweise zu sehen > ist) dürfte so um die 40€ kosten. Bausatz zum Zusammenstecken? Der TO wollte doch nicht löten.. wie passt das zusammen? Gruß Dennis
Schau Dir mal die Board von Micoe an, super ist halt, das es auch gleich passende Codebeispiele dazu gibt und erweiterungsmodule etc. http://www.mikroe.com/
Dennis S. schrieb: > Bausatz zum Zusammenstecken? Der TO wollte doch nicht löten.. wie passt > das zusammen? Vielleicht kennt ja jemand so was ähnliches, das auch günstig ist und schon zusammengebaut ;-)
Ich würde noch das Atmel-Evalboard von eHaJo in den Raum werfen: http://www.ehajo.de/baus%C3%A4tze/bedrahtete-baus%C3%A4tze/ateval-atmel-evaluationsboard.html Es hat den ISP-Adapter (USB zum PC) schon drauf. Erscheint mir sinnvoller als das Board von Pollin. (Disclaimer: ich habe keines dieser Boards) Falls es interessiert: für meinen EInstieg in die AVRs habe ich mir das Testboard von http://rowalt.de/mc/index.htm gebaut. Und einen STK200 Dongle für den Parallelport. Ist lange her ;) Und ich hatte vorher schon Erfahrung mit Z80, Z8, 68HC11 und ein paar mehr Architekturen.
Dass das STK500 total veraltet und zu teuer ist, neben bei noch über eine an den meisten Rechnern nicht mehr vorhandene serielle Schnittstelle betrieben wird, das müsste nun klar sein. Etwas ist hier immer noch ein weit verbreiteter Irrglaube und zwar wenn es um die Arduinos geht. KEIN MENSCH MUSS DEN IN DER ARDUINO IDE PROGRAMMIEREN!!! Es ist eine äußerst robuste Hardware und letztlich ein Atmega. Nicht mehr und nicht weniger. Für unter drei Euro (da ist sogar der Versand mit dabei) bekommst du vermutlich keinen ATmega328 nach Hause geschickt. Zum programmieren nimmt man den AVR MK II und nur den oder einen Dragon. Beide zusammen sind sehr nützlich, da der Dragon kein TPI kann und der AVR MK II keine HV Programmierung (im Anfang, selbst wenn nur versehentlich, verfused sicher jeder mal eine Controller).
Kann mir jemand erklären, warum man für den Arduino One keinen Programmer (bspw. AVR MK II) braucht? (Er wird auf jedenfall mal nicht aufgelistet) Vielleicht kann diese Frage gleich mit geklärt werden, wann wird den ein Programmer gebraucht? Eigentlich doch immer wenn Daten in ein programmierbaren Baustein (EEPROMs, Mikrocontroller,...) transveriert werden müssen, oder?
Auf den Arduino _One hat schon jemand mit einem Programmer ein Programm drauf geladen. Dieses Programm ist ein sogenannter Bootloader. Man kann mit dem Bootloader über eine Schnittstelle kommunizieren und der schreibt dann das Programm das man ihm schickt in den Kontroller.
Kaufe dir den AVR CAN Testboard von hier: Beitrag "[V] Starterkits - Olimex MSP430 EASYWEB-2, Olimex LPC2148 ARM, Olimex AT90USB162, AVR CAN testboard" Da hast du einiges drin und Falls dir langweilig wird dann fange mit CAN !
F. Fo schrieb: > Kaufe dir einige Breadbords, einige Arduino Nano (aus China, für um die > 3 Euro) Jumperkabel und ein paar Leds. Dazu noch ein Widerstandsset (ih > hatte meins von Conrad und das deckte erstmal alle Übungen ab). > Multimeter ist das mindeste was du brauchst. > Aber dann kannst du schon mal was machen. Das ist der beste Tipp, um schnell zu Ergebnissen zu kommen, siehe Bild. STM32 ist für Anfänger im Mikrocontrollerbereich um Größenordnungen zu komplex und jeder dahingehende Rat eigentlich völlig weltfremd.
Hallo Neuling, bei AVR Chips gibt es drei Speicher: (Atmega 328P, aus dem Kopf) 32KB Flash: Dort ist das Programm drin 2KB SRAM: Das ist schneller Speicher der nach dem ausschalten verloren geht 1 KB EEPROM: Sehr langsamer Speicher der nach dem ausschalten nicht verloren geht IMMER wenn du ein Programm in den Flash schreiben willst brauchst du eigentlich einen Programmer. Dieser ist aber (zumindest bei AVR) sehr einfach gestrickt und macht nicht mehr als: 1. Enter Programming Mode 2. Write Byte at Address 0x0000: 0xAB 3. Write Byte at Address 0x0001: 0xCD . . . Diese Befehle kommen über einen SPI-Bus, der bei AVR am ICSP Port rausgeführt wird. SPI heißt also 4 Drähte (+VCC, +GROUND). Es gibt aber auch die Möglichkeit dass ein gerade laufendes Programm selber Befehle in den Flash schreiben darf. (Instruction Code 'SPM') Damit kann man ein kleines Programm schreiben was gleich beim starten des AVR losläuft und drauf wartet ob über die serielle Schnittstelle Befehle kommen die wie ein neues Programm aussehen. Dieses neue Programm schreibt der Bootloader im Flash einfach direkt hinter sich selbst. Das ist der Weg wie es Arduino macht damit man diese per USB programmieren kann. (die USB-Schnittstelle wird in eine serielle Schnittstelle umgewandelt "in Hardware") Durch diese SPM-Befehle könnte man den AVR auch sein Programm über ein Netzwerk holen lassen. Oder per Lochkarten eingeben lassen :-) Klar? Thomas
Sieht bei mir ähnlich aus. Mit "Led debugging". Das war mein erstes Projekt und da noch "in Arduino"
Ist eigentlich der Hauptunterschied zwischen Nano und Uno, dass der Nano kleiner ist und SMD Bauteile besitzt? Danke Volker und Thomas für die Erklärung.
Auf dem Uno kannst du diese Shields drauf bauen und er ist größer. Der Nano lässt sich ins Steckbrett stecken oder in eine spätere Schaltung über Einen Sockel stecken.
Ich glaub ihr messt mit zweierlei Maß. Klar kann der STM32 mehr als der ATMega. Und ja, dieser Flexibilität muss konfiguriert werden. Und nein, man muß die Flexibilität nicht nutzen (am Anfang). Anfangs sollte man schon alles auf Default belassen und sich nur nur auf die Funktionaltität beschränken, die man nutzen will. Und wenn man hierfür nur die Funktionalitäten ansetzt, die auch der Atmel kann, ist dies auch auf dem STM nicht schwerer. Fallstricke gibt es auf beiden Welten. Und Hilfe gibts auch für beide Welten.
... mit dem Unterschied dass es für absolute Mainstream-Produkte wie Arduino oder RaspberryPi dutzende von Büchern gibt. Thomas
Hi >Dass das STK500 total veraltet und zu teuer ist, neben bei noch über >eine an den meisten Rechnern nicht mehr vorhandene serielle >Schnittstelle betrieben wird, das müsste nun klar sein. Wem? Was ist daran veraltet? Bis auf ein paar neuere ATTinys kann man fast alle DIP-AVR darauf Programmieren. Mit ISP geht fast alles. Zu teuer? Mein STK500 ist von 2001. Macht ca. 5.70€ pro Jahr. Wer bezahlt für sein Handy weniger? Bitte melden. >neben bei noch über eine an den meisten Rechnern nicht mehr vorhandene >serielle Schnittstelle betrieben wird, Viele wissen wahrscheinlich gar nicht, das ihr Motherboard eine serielle Schnittstelle hat. Habe gerade ,mit 2 Slotblechen für ca. 5 €, zwei Rechnern zu seriellen Schnittstellen verholfen. Und wenn alle Stricke reißen gibt es noch USB-Seriell-Wandler für 10€, die mit dem STK500 problemlos funktionieren. Das STK500 ist für AVRs immer noch ein geniales Board. MfG Spess
spess53 schrieb: > Zu teuer? Mein STK500 ist von 2001. Macht ca. 5.70€ pro Jahr. Wer > bezahlt für sein Handy weniger? Bitte melden. Naja, dann muss er ja nur noch ein paar Jahre sparen bis er das zusammen hat (und aufs Telefonieren verzichten ums etwas zu beschleunigen).
:
Bearbeitet durch User
Thomas schrieb: > ... mit dem Unterschied dass es für absolute Mainstream-Produkte wie > Arduino oder RaspberryPi dutzende von Büchern gibt. Da magst Du Recht haben. Ich habe ATMega mit STM32 verglichen. Da ist mir zumindest bisher kein Unterschied bezüglich Bücher aufgefallen. Aber massig Tutorials gibts für alles hier genannte im Internet. Da würde ich keines der hier genanten Produkte bevorzugen. Da mehrfach nach Büchern gefragt wurde: Insider's Guide STM32 - Hitex Es befasst sich mit dem STM32F1 internas. (Für mich zuwenig Details.)
http://www.keil.com/books/armbooks.asp Auch nicht für Anfänger. Aber an Dokumenten soll's nicht liegen. Englisch ist hier leider Pflicht. Aber ohne kommt man als Programmierer nicht sehr weit. Irgendwann helfen die Anfängerbücher nicht mehr weiter.
Ich würde zum STK500 oder der Pollinplatine plus ISP-Programmer raten. Damit bekommt man einen guten Überblick darüber, was man eigentlich tut. Deutlich besser als beim Arduino imho. Man wird auch nciht so sehr verleitet, vorgefertigte Module zu nutzen, ohne zu hinterfragen, ob das Sinn ergibt. Bei Konstruktionen wie einem Huckepack-Arduino auf einer selbstentworfenen Platine zweifle ich doch eher an der Wissensvermittlung beim Arduino. 3-5V, zwei Kondensatoren, mehr braucht es nicht, einen Mega328 ans laufen zu bekommen; zwei Kondensatoren und einen Quarz dazu, schon rennt er mit stabilen 16MHz. Das STK500 ist eine recht brauchbare Entwicklerplatine, aber recht unhandlich und auch nicht ganz billig. Dafür bietet es Stecksockel für die wichtigsten bedrahteten AVRs (auch für den Mega328P, der der Kern der Arduinos ist) und hat schön alle Ports auf 10pol-Pfostenleisten rausgeführt, sodass man da einfach aufs Steckbrett jumpern kann. Als Peripherie sind ein zweiter RS-232-Port, acht Taster und acht LEDs vorhanden. Dazu kommt ein universeller Quarzoszillator (Einfach einen Quarz zwischen 1 und 20MHz in einen Sockel stecken), eine einstellbare Referenzspannung und eine einstellbare, kurzschlussfeste Spannungsversorgung. Das alles wird aus einem externen Netzteil gespeist. Der ISP-Programmer ist eingebaut. Ein Ausprobieren verschiedener Controller ist leicht möglich, man kann so immer mit dem passenden µC für ein Projekt arbeiten (zB ATTiny2313 für kleinere Projekte) Der Arduino ist (für gewöhnlich) ein ATMega328P (inzwischen meist als winziger SMD, wobei es den auch als DIL-28 gibt). Dazu kommt eine LED, ein USB/RS232-Wandler und ein mäßiger Oszillator. Programmieren lässt sich das Käferchen mittels des Werksseitig geflashten Bootloaders auf dem AVR. Der Arduino selber will für gewöhnlich 5V aus einem Netzteil oder dem USB. Der Arduino hat ein steckbrett-inkompatibles Pinraster (an einer Stelle ist es nicht 2,54mm), ob das nun ein Versehen beim ersten Design oder Absicht war, kann drüber streiten. Was ich noch in die Runde werfen möchte: Der AVR-Dragon, das ist ein JTAG-Debugger für AVR-Mikrocontroller, der mit gerade mal 65€. Mit drauf sind ISP- und Parallelprogrammer für AVRs. Den kann man sich jederzeit nachkaufen, falls man es braucht.
Sorry andi84, aber Du solltest nichts schreiben, wenn Du keine Ahnung hast ... http://www.pollin.de/shop/dt/MzM2OTgxOTk-/Bausaetze_Module/Entwicklerboards/Entwicklungsboard_ATMEL_ATmega168PA.html Auch das ist ein Arduino (Arduino-Pro-Mini Klon), man benötigt dazu lediglich noch (einmalig für alle weiteren arduino pro mini-boards) ein usb-breakoutboard (eigentlich ein usb-serial-Wandler) und die arduino-IDE, die man einfach auf seinen pc kopiert und dann sofort mit vielen Beispielen loslegen kann. Der Pro-mini läuft auch mit 3,3V, wenn es sein muss ...
Hi >Auch das ist ein Arduino (Arduino-Pro-Mini Klon), man benötigt dazu >lediglich noch (einmalig für alle weiteren arduino pro mini-boards) ein >usb-breakoutboard (eigentlich ein usb-serial-Wandler) Also der Arduino für Arme. >und die >arduino-IDE, die man einfach auf seinen pc kopiert und dann sofort mit >vielen Beispielen loslegen kann. Was nutzen irgendwelche Beispiele, die man nicht verstanden hat? MfG Spess
spess53 schrieb: > > Was nutzen irgendwelche Beispiele, die man nicht verstanden hat? Das ist eine Aussage, die völlig unabhängig davon ist, ob man mit arduino, STK500, Pollinboard oder sonstigem unterwegs ist ... Positiv gesehen kann man sich anhand der gut kommentierten Beispiele vorantasten, sie variieren, nach und nach durch eigene Programmteile ersetzen usw. Vorteil ist, dass man von etwas funktionierendem ausgehen kann und sicher ist, dass alles funktioniert, der controller nicht verfust ist, nichts falsch gesteckt oder gejumpert wurde (STK500!) usw. Was ist schlecht an Arduino für Arme? Muss es unbedingt immer eine >100 € Investition sein?
google schrieb: > Sorry andi84, aber Du solltest nichts schreiben, wenn Du keine Ahnung > hast ... > > http://www.pollin.de/shop/dt/MzM2OTgxOTk-/Bausaetze_Module/Entwicklerboards/Entwicklungsboard_ATMEL_ATmega168PA.html Ich glaube, daß er dieses Brettchen aber gar nicht gemeint hat, sondern jenes: als Bausatz: http://www.pollin.de/shop/dt/MTY5OTgxOTk-/Bausaetze_Module/Bausaetze/ATMEL_Evaluations_Board_Version_2_0_1_Bausatz.html als Fertigteil: http://www.pollin.de/shop/dt/NTI5OTgxOTk-/Bausaetze_Module/Entwicklerboards/ATMEL_Evaluations_Board_V2_0_1_Fertigmodul.html
Hallo Altling, ich bezog mich ausschließlich auf seine (bewußt?) lückenhaften Aussagen zum Arduino.
Hi >AVorteil ist, dass man von etwas funktionierendem ausgehen kann und >sicher ist, dass alles funktioniert, Wieso bist du da so sicher? Arduino ist keine Garantie das alles richtig ist. >der controller nicht verfust ist, >nichts falsch gesteckt oder gejumpert wurde (STK500!) usw. Das ist der Unterschied zwischen Kuschel-Arduino und Realität. Aber arbeite ruhig weiter an deinem Arduino-Stigma. MfG Spess
Außerdem gibt es für Arduino richtig gute deutsche Literatur: http://4yourneed.blogspot.de/2013/08/arduino-kochbuchpdf.html (Um Größenordnungen hilfreicher als gewisse ATMega8-Bücher ;-)
> Aber arbeite ruhig weiter an deinem Arduino-Stigma.
Du kennst mich nicht, wirst aber sehr persönlich. Warum? Was, wenn ich
Dir sage, dass hier auch ein viel genutztes STK500 steht, ein ST-Link/V2
in häufigem Gebrauch ist usw.?
Arroganz führt oft zu dummen Aussagen ...
Ich habe hier einige Eval Boards angeboten: Beitrag "Update Liste und Preise [V] µC Eval Boards, GPS Module, Funkmouse, DSL-Modem, Router, Last-R, G-Sens" Weniger verbreitete Plattformen, aber günstig und oft mit allem drauf was man braucht. Vielleicht ist ja was für dich dabei?
jetzt is mir wieder eingefallen wo ich STK500 zuerst gehört hab: https://www.youtube.com/watch?v=DBftApUQ8QI&feature=youtu.be&t=9m53s das video is generell sehr unterhaltsam :D
Stephan S. schrieb: > Werbung für eigene Angebote ist hier nicht erlaubt, zumal Du nichts anfängertaugliches dabei hast ...
Harald Nagy schrieb: > asdf schrieb: >> Wenn du dich länger ohne sichtbaren Erfolg einarbeiten kannst, dann rate >> ich dir zu STM32. Günstiger gehts nicht. Es gibt gute Bücher (Englisch >> ist nicht so wild) > > Empfehlung? Gerade speziell zu den STM32 konnte ich noch kein einziges > Buch finden... Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors ISBN-10: 0124080820 ISBN-13: 978-0124080829 Gibts auch für die M0(+). Hat mir sehr geholfen. Es werden dort auch sehr viele Grundlagen geklärt, z.B. was ein Interrupt ist, bzw. Interrupt Prioritäten. Sollte es vom Tiefgang nicht ausreichen, dann ist eher Literatur im Bereich Digitaltechnik/MCU Technik allgemein besser. Also wie ein Bus funktioniert, was ein Timer ist, Register etc.
> Du kennst mich nicht, wirst aber sehr persönlich. Das sagt ja gerade der richtige. > Sorry andi84, aber Du solltest nichts schreiben, wenn Du keine Ahnung hast > http://www.pollin.de/shop/dt/MzM2OTgxOTk-/Bausaetz... Das Ding habe ich an keiner Stelle gemeint. Ich bezog mich auf das oben bereits genannte AVR Evalboard von Pollin. Auch - und gerade - bei dem "pro-mini" gilt: Das ding ist nur ein SMD-ATMega auf einem Träger, den kein Mensch braucht. Die drei externen Bauteile sollte man auch auf dem Steckbrett hinbekommen. Ferner bezog ich mich, wie man wohl an meinem Post auch erkennen kann, auf den "üblichen" Arduino mit seinen Steckleisten für "Shields" und dem üblichen 328P. Die Variante ist aus meiner Sicht oft einfach unnötig. Ferner ergibt sich da schnell der Kreis, dass man halt doch immer - und immer wieder den Arduino verbaut, weil man sich nie mit dem Drumherum des Prozessors auseinandergesetzt hat. Die x-tausend Projekte, wo ein Arduino, Teensy (von mir aus auch pro, mini oder whatever) oder sonstein Simpelst-Board draufsitzt, obwohl man sich die Mühe einer eigenen Leiterplatte gemacht hat spricht Bände. So schwer ist das alles nicht. Es ist auch irgendwie lustig, wie bei der kleinsten Kritik an Arduinos als "Entwicklerboard" sofort die Gäste mit den vielsagenden Namen aus ihren Löchern krabbeln und hier erstmal Ahnungslosigkeit unterstellen, während sie anderen vorwerfen, vorschnell zu urteilen. Es ging mir im übrigen, zumindest im ersten Post, nicht darum, den Arduino als Evalboard schlechtzureden sondern jeweils aufzuzeigen, was man fürs Geld bekommt. Meiner Ansicht nach, fährt man mit dem STK-500 oder einem Pollin-Evalboard besser, da man mehr lernt. Den Arduino-Bootloader kann man immer noch flashen und die Arduino-IDE geht zur Not auch, wenngleich ich nicht wüsste, warum man sich das ANtun sollte.
Was mich hier immer wieder verwundert, dass es immer so viel Gegenwind gegen die von mir popagierten Arduino Nano gibt. Dabei handelt es sich doch nur um einen ATmega328 mit Quarz und Resettaster, dazu noch eine Led. Blilliger geht es einfach nicht. Über die IDE und ob das zum Einstieg besser geeignet ist oder nicht, darüber braucht man sich ja gar nicht streiten. Mit dem Nano stecke ich quasie einen ATmega328 in SMD auf ein Breadboard. Nicht mehr und nicht weniger. Nur dass der Nano besser hält als ein DIL so ins brett gesteckt. Die Programmiersprache und die Arbeitsumgebung kann man sich doch ausssuchen. Solange das Teil über ISP programmiert wird, ist auch schon der Stecker vorhanden. Dazu kommt, aus China mit Versandkosten kosten die Teile um 3 Euro. Da haben die üblichen Versender allein schon höhere Versandkosten. Also was ist dagegen einzuwenden? Selbst bei allen Einwänden dürfte der Preis schon ein sehr starkes Argument dafür sein.
Hi >Was mich hier immer wieder verwundert, dass es immer so viel Gegenwind >gegen die von mir popagierten Arduino Nano gibt. Der passt nicht in mein STK500. MfG Spess
Die Meinungen scheinen sich bei diesem Thema ja sehr zu unterscheiden. Da ich gestern ein neues STM32VLDISCOVERY Board geschenkt bekommen habe, werde ich wohl nun wie folgt vorgehen: Arduino Uno Set -> STM32VLDISCOVERY -> komplexeres Board, wahrscheinlich wieder ein STM32.
Hi! Ich habe hier ne Menge älterer Boards rumliegen: Aus dem Gedächtnis, ohne in die Kiste zu schauen; 2 selbstgemachten Atmega boards mit kaum Peripherie, Infineon XC167 starter kit, Infineon TriCore starter kit, STM8-USB-Stick, STM32 Primer (mit display), ZilogZ80 board, usw. Das ganze gammelt bei mir unbenutzt rum und ich würde ein paar Teile gegen nen Kasten Bier oder so abgeben. Wo wohnst Du denn? Ich kanns auch schicken. Ciao Dominik
Um mal ein paar echte Fakten in die Diskussion zu bringen - und auch, um das Ganze ein bißchen anschaulicher zu machen -, hier mal ein Beispiel dafür, daß der Einstieg in STM32 nicht schwerer ist als in die AVRs. Und das ohne IDE-Gedöns... Ist also vergleichbar mit dem AVR, nur Fuses können nicht falsch programmiert werden... 1. Makefile
1 | CC = arm-none-eabi-gcc |
2 | LD = arm-none-eabi-ld -v |
3 | CP = arm-none-eabi-objcopy |
4 | OD = arm-none-eabi-objdump |
5 | |
6 | CFLAGS = -I./ -c -fno-common -Os -mcpu=cortex-m3 -mthumb |
7 | LFLAGS = -Tstm32.ld -nostartfiles |
8 | CPFLAGS = -Obinary |
9 | ODFLAGS = -S |
10 | |
11 | all: test |
12 | |
13 | clean: |
14 | -rm -f blinky.lst blinky.o blinky.elf blinky.lst blinky.bin |
15 | |
16 | test: blinky.elf |
17 | @ echo "...Kopiere" |
18 | $(CP) $(CPFLAGS) blinky.elf blinky.bin |
19 | $(OD) $(ODFLAGS) blinky.elf > blinky.lst |
20 | |
21 | blinky.elf: blinky.o stm32.ld |
22 | @ echo "..Linke" |
23 | $(LD) $(LFLAGS) -o blinky.elf blinky.o |
24 | |
25 | blinky.o: blinky.c |
26 | @ echo ".Kompiliere" |
27 | $(CC) $(CFLAGS) blinky.c |
2. Linkerfile
1 | MEMORY
|
2 | {
|
3 | ram (rwx) : ORIGIN = 0x20000000, LENGTH = 8K |
4 | rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K |
5 | }
|
6 | SECTIONS
|
7 | {
|
8 | . = 0x08000000; |
9 | .text : |
10 | {
|
11 | *(vectors) /* VectorTabelle */ |
12 | *(.text) /* Programmcode */ |
13 | *(.rodata) /* Readonly Daten */ |
14 | } >rom |
15 | |
16 | . = 0x20000000; |
17 | .data : |
18 | {
|
19 | *(.data) /* DatenRAM */ |
20 | } >ram AT > rom |
21 | |
22 | .bss : |
23 | {
|
24 | *(.bss) |
25 | } >ram AT > rom |
26 | }
|
3. Testprogramm blinky.c
1 | #include "stm32f10x.h" |
2 | |
3 | #define STACK_TOP 0x20002000
|
4 | |
5 | void nmi_handler(void); |
6 | void hardfault_handler(void); |
7 | void delay(void); |
8 | int main(void); |
9 | |
10 | /* IRQ Vektoren */
|
11 | |
12 | unsigned int * myvectors[4] |
13 | __attribute__ ((section("vectors")))= { |
14 | (unsigned int *) STACK_TOP, |
15 | (unsigned int *) main, |
16 | (unsigned int *) nmi_handler, |
17 | (unsigned int *) hardfault_handler |
18 | };
|
19 | |
20 | |
21 | int main(void) { |
22 | int n = 0; |
23 | int button; |
24 | |
25 | RCC->APB2ENR |= 0x10 | 0x04; /* GPIOA (2) und GPIOC (8) Enable */ |
26 | GPIOC->CRH = 0x11; /* GPIOC Pin 8 und Pin 9 als Outputs (LED) */ |
27 | GPIOA->CRL = 0x04; /* GPIOA Pin 0 als Input (User Taster) */ |
28 | |
29 | while(1) { |
30 | delay(); |
31 | button = ((GPIOA->IDR & 0x1) == 0); /* User Taster einlesen */ |
32 | n++; |
33 | if (n & 1) { |
34 | GPIOC->BSRR = 1<<8 ; |
35 | } else { |
36 | GPIOC->BSRR = 1<<24; |
37 | }
|
38 | if ((n & 4) && button) { |
39 | GPIOC->BSRR = 1<<9 ; |
40 | } else { |
41 | GPIOC->BSRR = 1<<25; |
42 | }
|
43 | }
|
44 | }
|
45 | |
46 | void delay(void) |
47 | {
|
48 | int i = 500000; |
49 | while (i-- > 0) { |
50 | asm("nop"); /* Verhindert Wegoptimieren */ |
51 | }
|
52 | }
|
53 | |
54 | void nmi_handler(void) |
55 | {
|
56 | return ; |
57 | }
|
58 | |
59 | void hardfault_handler(void) |
60 | {
|
61 | return ; |
62 | }
|
Andreas schrieb: > Ist also vergleichbar mit dem AVR, nur Fuses können nicht falsch > programmiert werden... OMG, ich glaube ich bleib doch lieber bei PICs ;-)
Neuling schrieb: > seit einigen Wochen lese ich nun schon im Stillen mit und merke wie > meine Interesse am Programmieren von Mikrocontrollern stetig steigt. Wenn du magst sende mir deine Adresse und 0,62Euro Briefporto und ich sende dir einen Bausatz fuer eine Rev4 SMD Version vom tinyUSBboard: http://matrixstorm.com/avr/tinyusbboard/#revfourpictures (da ich nicht angemeldet bin: matrixstorm@gmx.de) MfG Stephan
Mit Makefile und Linkerfile hab ich bisher noch nicht gearbeitet, versteh daher auch nicht wirklich was da gerade von statten geht. Trotzdem danke für das Beispiel.
Neuling schrieb: > Die Meinungen scheinen sich bei diesem Thema ja sehr zu unterscheiden. > > Da ich gestern ein neues STM32VLDISCOVERY Board geschenkt bekommen habe, > werde ich wohl nun wie folgt vorgehen: > > Arduino Uno Set -> STM32VLDISCOVERY -> komplexeres Board, wahrscheinlich > wieder ein STM32. Mit Verlaub... das ergibt keinen Sinn! Fang mit dem STM32 an, wenn du es schon hast. Man lernt nur durch machen und nicht durch diskutieren. Hier [1] ist ein sehr empfehlendswertes Skript, was dir alle notwendigen Schritte erklärt und alle wichtigen Techniken (USART, Timer, SPI, AD-Wandlung, ...) erklärt. Und um die Skripte brauchst du dir vorerst überhaupt keine Gedanken machen. Nimm einfach die Vorlage vom Autor und gut ist. Gruß Dennis [1] http://www.cs.indiana.edu/~geobrown/book.pdf
:
Bearbeitet durch User
Neuling schrieb: > Mit Makefile und Linkerfile hab ich bisher noch nicht gearbeitet, > versteh daher auch nicht wirklich was da gerade von statten geht. > Trotzdem danke für das Beispiel. Andreas wollte nur zeigen, wie wenig es braucht, um den STM32 zum Laufen zu bekommen. Wenn Du statt einer Make-Umgebung eine Anfängerfreundliche IDE benutzt, siehst Du selbst davon nur noch wenig.
Dennis S. schrieb: > Mit Verlaub... das ergibt keinen Sinn! Fang mit dem STM32 an, wenn du es > schon hast. Man lernt nur durch machen und nicht durch diskutieren. > > Hier [1] ist ein sehr empfehlendswertes Skript, was dir alle notwendigen > Schritte erklärt und alle wichtigen Techniken (USART, Timer, SPI, > AD-Wandlung, ...) erklärt. > > Und um die Skripte brauchst du dir vorerst überhaupt keine Gedanken > machen. Nimm einfach die Vorlage vom Autor und gut ist. > > Gruß > Dennis > > [1] http://www.cs.indiana.edu/~geobrown/book.pdf Hm, da ist natürlich auch was wahres dran, aber mich schreckt etwas ab, was man alles unter "Required Hardware" findet und sich dann zusätzlich besorgen muss. Ein komplettes Set wäre für mich hat vorteilhaft, da ich bisher noch keine Widerstände/Potis/etc. besitze und mir das jetzt nach und nach anlegen will.
Neuling schrieb: > Ein komplettes Set wäre für mich hat vorteilhaft ... Schwer was zu empfehlen, da du keinerlei Ideen angibst, in welche Richtung du gehen willst. Ich finde ein komplettes Set gut, bei dem einige Basisfunktionen wie Taster, LEDs, LCD, Analoges Signal (Poti), Serielle Schnittstelle, (vielleicht Lautsprecher) schon mit dabei sind. Aber woher sollen wir wissen ob das in etwa auch deine Vorstellungen sind, oder ob du schon spezielle Anwendungen im Hinterkopf hast ?
Wo ist das Problem mit der "Required Hardware"? Da ist die komplette Hardware verzeichnet, die Du brauchst, um alle Kapitel des Tutorials bearbeiten zu können. Wenn Du erstmal kein Display anschliessen willst und kein Audio verwenden magst, dann brauchst Du die entsprechenden Teile auch nicht. Ich finde die Liste ziemlich ehrlich. Natürlich kommst Du auch ohne Oszi aus. Oft macht es aber den Unterschied zwischen Erkenntnis und Verzweiflung aus. Das Schöne an den Discovery-Boards ist, daß dort bereits die komplette Debug-Hardware mitgeliefert wird. Und wenn Du die einmal benutzt hast, wirst Du alle anderen Try-and-Error-Ansätze vergessen wollen. Gruß, Stefan
Hm, gestern habe ich noch irgendwo eine Kaufempfehlung für Einsteiger/Neulinge gesehen, wo die gängigsten Bauteile (von Widerstände über Potis bis zum Steckbrett) als fertiger Wahrenkorb aufgelistet war. Natürlich find ich es nicht mehr -_- Eine weitere Frage von meiner Seite aus wäre, welcher STM32 nach dem Discovery-Board empfohlen werden kann?
Neuling schrieb: > Hm, da ist natürlich auch was wahres dran, aber mich schreckt etwas ab, > was man alles unter "Required Hardware" findet und sich dann zusätzlich > besorgen muss. > > Ein komplettes Set wäre für mich hat vorteilhaft, da ich bisher noch > keine Widerstände/Potis/etc. besitze und mir das jetzt nach und nach > anlegen will. Ach Mensch... fang doch einfach an! Dafür brauchst du genau NICHTS Zusätzliches. In der Zeit hättest du schon die erste LED blinken lassen können. Wie Stefan schon sagte: das ist für die späteren Kapitel. Und später musst du halt mal 20€ investieren. So ist das Leben. Gruß Dennis P.S.: Da steht übrigens auch nichts von Widerständen oder so.. das sind alles Fertigteile die du sowieso niemals selber bauen wirst.
:
Bearbeitet durch User
@Dennis: Bei dem STM32 steht selbstverständlich nichts von Widerständen o.ä., hab ich auch nie erwähnt (mal nebenbei angemerkt), zudem habe ich auch nirgends gesagt, dass ich diese Fertigteile selbst bauen will. Ich würde gerne Schaltungen aufbauen und daher wäre ein Set mit Bauteilen sehr hilfreich (welches ich gestern sah, aber ausversehen nicht abgespeichert habe) Und es tut mir leid, dass ich mich nun mal vorweg richtig informieren will und nicht gleich das erstbeste nehm und wie wild los programmiere, ist eben nicht meine Art.
> Ach Mensch... fang doch einfach an! Dafür brauchst du genau NICHTS > Zusätzliches. In der Zeit hättest du schon die erste LED blinken lassen > können. Tja hier ist es mit der Elektronik wie sonst mit dem Sex. Manche tuns, andere reden nur dauernd darüber. Wenn schon jemand einen Thread aufmacht und 2 Seiten von seiner Projektidee blubbert und dann im Nachsatz noch schnell nach einem geeignet Controller dafür fragt, da weiß man gleich: Das wird nix. Der tut nichts, der redet nur gern drüber. Ähnlich verhält es sich mit Fragen zu Anfängersets, Startkits und Warenkörben. Da werden dann Wochenlang Artikel besprochen und sich über Details gestritten. Aber wann baut der TE endlich mal was auf?
:
Bearbeitet durch User
@Andreas: Danke für die drei Files für STM32. Schön aufgelistet und gleich mal irgendwo abgespeichert. Vielleicht brauch ich die nochmal. Ich denke aber für einen Anfänger (es soll Leute auf dieser Welt geben die noch nichtmal wissen was eine Kommandozeile ist) sind die drei Dateien trotzdem abschreckend. In der Arduino-Umgebung geht das so: 1. Arduino Uno an USB anstecken. 2. Arduino IDE starten. 3. Datei->Beispiele->Basics->Blink 4. Klick auf Upload Und die Blink-Datei sieht so aus:
1 | /* |
2 | Blink |
3 | Turns on an LED on for one second, then off for one second, repeatedly. |
4 | |
5 | Most Arduinos have an on-board LED you can control. On the Uno and |
6 | Leonardo, it is attached to digital pin 13. If you're unsure what |
7 | pin the on-board LED is connected to on your Arduino model, check |
8 | the documentation at http://arduino.cc |
9 | |
10 | This example code is in the public domain. |
11 | |
12 | modified 8 May 2014 |
13 | by Scott Fitzgerald |
14 | */ |
15 | |
16 | |
17 | // the setup function runs once when you press reset or power the board |
18 | void setup() { |
19 | // initialize digital pin 13 as an output. |
20 | pinMode(13, OUTPUT); |
21 | } |
22 | |
23 | // the loop function runs over and over again forever |
24 | void loop() { |
25 | digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level) |
26 | delay(1000); // wait for a second |
27 | digitalWrite(13, LOW); // turn the LED off by making the voltage LOW |
28 | delay(1000); // wait for a second |
29 | } |
Thomas
@Cyblord: So unrecht hast du damit definitiv nicht. Obs jetzt Arduino oder STM32 ist. Ob der Weg zum ersten Blink 5 Minuten oder 60 Minuten dauert - egal - man muss einfach mal loslaufen!
Neuling schrieb: > Und es tut mir leid, dass ich mich nun mal vorweg richtig informieren > will und nicht gleich das erstbeste nehm und wie wild los programmiere, > ist eben nicht meine Art. Es klang so als ob du das STM32Discovery schon hast. Naja, manche fangen eben mit kleinen Schritten an und andere können nicht sitzen und planen schon mal den Marathon. Übrigends muss ich dann "cyblord" doch mal mit einem kleinen Grinsen zustimmen. Gruß Dennis
@cyblord Cyblord ---- schrieb: > Tja hier ist es mit der Elektronik wie sonst mit dem Sex. Manche tuns, > andere reden nur dauernd darüber. Genau 2 Tage meines Lebens darüber geredet heißt natürlich, dass ich nur darüber rede. > Wenn schon jemand einen Thread aufmacht und 2 Seiten von seiner > Projektidee blubbert und dann im Nachsatz noch schnell nach einem > geeignet Controller dafür fragt, da weiß man gleich: Das wird nix. Der > tut nichts, der redet nur gern drüber. Welche Projektidee? Ich bin ein Neuling, der sich einen Rat von Erfahrenen holen wollte, nicht mehr nicht weniger, aber schön dass du mich so gut kennst und daher weißt, dass das nix wird. > Ähnlich verhält es sich mit Fragen zu Anfängersets, Startkits und > Warenkörben. Da werden dann Wochenlang Artikel besprochen und sich über > Details gestritten. Aber wann baut der TE endlich mal was auf? Endlich? Vorgestern angefangen darüber zu reden, in der Zeit ist noch nicht mal eine Bestellung angekommen. Such dir einen anderen Thread um deine schlechte Laune los zu werden. @Thomas danke für deine bisher immer informativen Beiträge, sowas hilft auch weiter.
Früher gab's AGs für sowas, um den ersten Einstieg zu erhalten. Dies erleichtert vieles. Im Februar ist die Embedded World in Nürnberg. Viele Firmen verteilen Eintrittskarten kostenlos. Vor Ort bekommt man einfache(*) Boards kostenlos. Wenn man in der Nähe wohnt ist dies keine Investition. Und wenn der jeweilige Prozessor zu kompliziert ist, nun gut, dann wechselt man eben. Der TO hat ja hier viele Ideen bekommen. Welche ihm am meisten zusagt, wird er erst herausfinden, wenn der aktiv damit herumspielt. Insofern würde ich mich für den Anfang auch nicht schon komplett eindecken. (*) haben meist nur Debuginterface, 'ne LED und nicht viel mehr drauf.
Nun gut, schließen wir den Thread und halten fest was nun ausdiskutiert wurde: STK500: - Bietet alles an was ich suche - Ist veraltet und viel zu groß/teuer - Ist günstig, da es viele Jahre lang einwandfrei funktioniert Arduino: - Ist gut für Einsteiger geeignet - Viel zu einfach und nur was für absolute Laien - Es gibt eine gute Auswahl an Dokumentationen - Nichts brauchbares für die Zukunft, nichts lernbares STM32: - Ist zu komplex für Einsteiger - Schneller Einstieg möglich - Ist geeignet da viel im Internet steht - Es steht nichts sinnvolles im Internet Soviele Widerstprüche in nur einem Thread und letztendlich wird man als Anfänger/Neuling/Einsteiger auch noch so hingestellt als wolle man nur darüber reden. SCNR.
Neuling schrieb: > Soviele Widerstprüche in nur einem Thread Du hast Experten gefragt. Und die sind sich uneins, was sie einem Unwissenden zutrauen und was nicht. Und da kann man schon unterschiedlicher Meinung sein. Es wäre interessant, wenn Du in einem halben Jahr mal deine Erfahrungen für zukünftige Einsteiger kundtust.
Neuling schrieb: > Endlich? Vorgestern angefangen darüber zu reden, in der Zeit ist noch > nicht mal eine Bestellung angekommen. Welche Bestellung? Du weißt doch nicht mal was du bestellen sollst. Ich hab damals vor vielen vielen Jahren auf den Seiten von sprut vom PIC gelesen. (Davor auch mal C-Control 1+2 angetestet, aber das war nix für mich.) Dann bin ich mti dem Fahrrad zum Mükra Elektronik und hab ein paar PICs (16F84) und Teile für einen parallel Programmer gekauft. Zuhause alles auf Lochraster gebaut. Am Ende des Tages konnte ich Programme flashen und die LED hat geblinkt. Ganz ohne Diskutieren, ellenlange Threads, abwägen, rumheulen. Und heute finde ich AVRs und STMs besser als PIC. Trotzdem hab ich die PIC Phase überlebt und viel dabei gelernt. Und auch die Hardware muss am Anfang nicht perfekt sein. Dann kaufst halt mal ein falsches Bauteil. Dann lernt man daraus. Wie lange willst du auf anderen Angewiesen sein bei der Auswahl? Nur diesmal, oder nächstes mal auch noch? Wann kommt der Moment? Ohne eigene Entscheidung und auch evt. Fehlkäufe kommt der nie. **Man braucht einfach kein Forum um mal anzufangen. Das kommt dann später wenn man konkrete Fragen und Probleme hat.**
:
Bearbeitet durch User
Cyblord ---- schrieb: > **Man braucht einfach kein Forum um mal anzufangen. Das kommt dann > später wenn man konkrete Fragen und Probleme hat.** Man kann aber vorher mal nachfragen und von den Erfahrungen der anderen profitieren. u.a. dafür ist ja so ein Forum da ;)
STM32: einfach nur ein einfaches LED-Blinkprogramm ... Beitrag "STM32F4 Linker-Fehler region FLASH overflowed?" lol
Beitrag "AVR Studio und AVR GCC" Probleme gibts auf allen Systemen. Doch genau dafür ist die Hilfe hier im Forum ja da.
google schrieb: > Stephan S. schrieb: >> Werbung für eigene Angebote > > ist hier nicht erlaubt, zumal Du nichts anfängertaugliches dabei hast > ... Na jetzt übertreib mal nicht. Das traust dich nur anonym sagen? Ich verkauf meine Sachen nicht kommerziell, sondern weil ich es nicht mehr benötige. Viele Leute haben schon Sachen von mir gekauft und teilweise echte Schnäppchen gemacht. Außerdem habe ich nicht versucht was unterzujubeln und auch darauf hin gewiesen dass die Teile nicht so sehr verbreitet sind. Obwohl ich der Meinung bin dass die Eval Boards auf Grund ihrer Einfachheit eigentlich sogar gut geeignet sind für Anfänger. Teilweise sogar mit Display.
Neuling schrieb: > Dennis S. schrieb: >> Mit Verlaub... das ergibt keinen Sinn! Fang mit dem STM32 an >> >> [1] http://www.cs.indiana.edu/~geobrown/book.pdf Bin mal drüber geflogen, ist wirklich nicht schlecht.
F. Fo schrieb: > Neuling schrieb: >> Dennis S. schrieb: >>> Mit Verlaub... das ergibt keinen Sinn! Fang mit dem STM32 an >>> >>> [1] http://www.cs.indiana.edu/~geobrown/book.pdf > > Bin mal drüber geflogen, ist wirklich nicht schlecht. Ja! Mir gefällt es sehr gut, dass keine vollständigen Programme abgebildet sind sondern einige Teile rausgeschnitten und diese dann einzeln erklärt. Meiner Meinung nach eine sehr gute Einstiegsliteratur. Gruß Dennis
Dennis S. schrieb: > Meiner Meinung nach eine sehr gute Einstiegsliteratur. Definitiv. Sonst hatte ich vor zwei Jahren noch nicht viel brauchbares gefunden.
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.