Ich bin mir gerade einen kontroller für das Raumfahrtprogramm kerbal space program am bauen. Da kriege ich über den seriellen Port Daten die ich dann auf einen LCD und 7 segment anzeigen anzeigen lasse. Momentan bin ich mit der arduino IDE unterwegs und finde den Gedanken mit den libs nicht schlecht. Man kommt schnell zu einem Ergebnis. Heute habe ich mir mal Atmel Studio 6 installiert. Wirkt alles ziemlich überladen. Braucht man das alles? Das momentane Projekt werde ich mit der arduino IDE zu ende bringen. Aber für die Zukunft stellt sich natürlich die Frage ob man nicht direkt umsteigen sollte. Ich werde definitiv weiter mit Arduino arbeiten. Das sind lächerliche Preise, die ich bei Ali express bezahle. Ich habe früher mit awl bisschen programmiert und kenne die Preise für sps Bauteile. Dagegen ist das hier ein kleiner Klacks.
Der Hauptvorteil ist in meinen Augen, dass es einen vernünftigen Fuse Editor gibt (ISP Programmer vorrausgesetzt) und dass man richtiges C verwendet und nicht diesen Arduino Mischmasch. Umsteigen von Arduino IDE ist daher nicht nur eine Glaubensfrage sondern auch eine Frage ob man bereit ist sich mit den Registern und Datenblättern der Controller zu beschäftigen. Ich finde Atmel Studio hauptsächlich ätzend langsam. Aber das Problem habe ich mit avr gcc unter Linux zum Glück nicht mehr.
Der Arduino-Mischmasch nennt sich C++ und wird von einem AVR-GCC übersetzt. Auffälligster Schwachpunkt der IDE ist der Editor. Ich benutz(t)e das Teil zur Inbetriebnahme von Eclipse-AVR-Plugin auf Linux mit China-Arduinos. So nach dem Motto: wenn die HW mit der Arduino-SW spielt, dann ist HW bis USB-Konfiguration ok. AVR-Studio schnarch langsam? Ich dachte deshalb hat man von Eclipse auf Visual-Studio als Basis umgeschwenkt.
Was fehlt denn dem arduino Editor? Mit den Fuses sollte es doch egal sein oder? Hat ja einen eigenen bootloader.
Cihan S. schrieb: > Das momentane Projekt werde ich mit der arduino > IDE zu ende bringen. Aber für die Zukunft stellt sich natürlich die > Frage ob man nicht direkt umsteigen sollte. Ich werde definitiv weiter > mit Arduino arbeiten. Das sind lächerliche Preise, die ich bei Ali > express bezahle. Was hat der Preis der Arduino Hardware mit der IDE zu tun. Sowohl Atmel Studio als auch die Arduino IDE sind kostenlos und verwenden den gleichen Compiler. Und natürlich kannst du auch unter Atmel Studio die Arduino Libs benutzen. Beitrag "Arduino Library unter Atmel Studio 6.2"
Das Hauptproblem mit der Arduino IDE ist, dass man sich hier im Forum belächeln lassen muss, weil man in einem kleinen privaten Bastelprojekt einen Arduino verwendet, anstatt vorher ein Controller-Board zu entwerfen, was aber unsinnig wäre, weil man wirklich nur mal eine kleine Funktionalität braucht, wobei erste Ergebnisse in einer halben Stunde mit einem Arduino und der IDE hingeklatscht sind. Und ja, die Arduino IDE ist kein Vergleich zu den erwachsenen Programmen und der Editor einfach nur gruselig. Trotzdem kann man das Teil zieführend nutzen.
skks schrieb: > Das Hauptproblem mit der Arduino IDE ist, dass man sich hier im Forum > belächeln lassen muss, weil man in einem kleinen privaten Bastelprojekt > einen Arduino verwendet, anstatt vorher ein Controller-Board zu > entwerfen Das Hauptproblem bei solchen Aussagen ist mal wieder, daß hier zwischen der IDE und der Hardware nicht richtig unterschieden wird.
Ich bin damals auch zu Atmel Studio umgestiegen und bin jetzt schon seit Jahren überzeugter Nutzer. Die Arduino IDE mag wohl übersichtlich sein aber man weiß nie welche Bibliotheken mit geladen werden... Ihr könnt euch mal angucken wie groß die kompilierte Datei mit einer Arduino IDE und Atmel Studio ist... da liegen Welten zwischen, da eigene erstellte Bibs nicht so überladen sind! Für mich war es neben der möglichen Funktion zu debuggen in Atmel Studio einer der ausschlaggebenden Gründe.... https://cutmywire.wordpress.com/2013/07/21/arduino-und-co-mit-atmel-studio-nutzen/
Walter T. schrieb: > skks schrieb: >> Das Hauptproblem mit der Arduino IDE ist, dass man sich hier im Forum >> belächeln lassen muss, weil man in einem kleinen privaten Bastelprojekt >> einen Arduino verwendet, anstatt vorher ein Controller-Board zu >> entwerfen > > Das Hauptproblem bei solchen Aussagen ist mal wieder, daß hier zwischen > der IDE und der Hardware nicht richtig unterschieden wird. Och, die herablassenden Kommentare gehen los bei dem Wort "Arduino". Ob dahinter "IDE" oder "Board" steht ist egal. Und ich persönlich habe sehr wohl meine Boards selbst gemacht, bevor ich von Arduino wusste und gcc und avrdude usw. benutzt. Nur für viele Sachen, die ich in meinem Kämmerchen mache, reicht halt sowohl die Arduino Hardware als auch (theoretisch) die Software, die ich allerdings auch nicht benutze.
> Der Arduino-Mischmasch nennt sich C++ und wird von einem AVR-GCC übersetzt.
Schon klar, aber so richtig C++ ist das mit vorgegebenen Init und Loop
Bereichen eben wieder nicht. Es ist am Ende des Tages doch durch einen
sehr stark abstrahierten Layer. Wer es mag und sich nicht mit der
Materie näher befassen möchte - OK. Aber ich bin auf Mikrocontrollern
eben gerne in den Registern unterwegs.
Die Hardware ist ganz nett. Ich habe die selber mal eingesetzt (Pro
Mini) weil das im Vergleich zu einer eigenen Platine mit selber ätzen
und löten für die Größe einfach unschlagbar günstig war, aber dennoch in
richtigem C Programmiert.
Fuses braucht man bei einem Arduino wirklich nicht unbedingt. Aber da
kommt es natürlich auch wieder auf die Anforderungen an.
> AVR-Studio schnarch langsam? Ich dachte deshalb hat man von Eclipse auf Visual-Studio als Basis umgeschwenkt. Das war mal noch schlimmer? Also unter Windows 7, 2.5 GHz Dual Core mit 8 GB Arbeitsspeicher und SSD gab es bei mir im Atmel Studio immer wieder Hänger, insbesondere im AVR Konfigurationsbereich. Von einem IDE würde ich sowas eigentlich nicht erwarten.
Cihan S. schrieb: > Was fehlt denn dem arduino Editor? Du musst fragen "was hat er denn überhaupt?", dann wird die Liste vielleicht übersichtlicher. Das ist natürlich bei jedem anders, und auch abhängig davon ob man vorwiegend kleinste Programme schreibt die nur aus ein, zwei Dateien bestehen, keines größer als 3 Bildschirmseiten oder ob man auch mal in größeren Projekten noch sinnvoll navigieren können will. Und weil das bei jedem anders ist ist es bei mir persönlich folgendermassen: Im Laufe der Zeit habe ich mit verschiedenen Editoren für verschiedenste Zwecke gearbeitet und ich war jedes mal immer genau so lange zufrieden damit bis ich mal wieder irgendwo was besseres gesehen und alsbald zu schätzen gelernt habe. Nach einiger Zeit möchte man viele nützliche Helferlein nicht mehr missenm, die Ansprüche steigen also je mehr verschiedene IDEs man erlebt hat. Mein persönlicher Mindeststandard bei Editoren ür statisch getyte Sprachen wie C, C++ (und andere) ist momentan folgender, all das folgende soll ein Editor beherrschen sonst macht die Arbeit damit keinen Spass: * Alle Tasten funktionieren (nicht lachen, alles schon erlebt) * Code completion * Calltips * Outline * Go-to-declaration/definition * find identifier references * Makro-Expansion * verschiedene Refactoring-Funktionen (mindestens jedoch rename) * Ordentliches Autoindent * Kür (das ist schon fast zu viel verlangt, aber sowas ist andernorts auch Stand der Technik): Ausgefeilte automatische Codegenerierung für häufig wiederkehrende Boilerplate-Konstrukte, also z.B. ich drücke eine Tastenkombination und er implementiert fehlende Interfacemethoden oder Funktionsrümpfe automatisch und dergleichen Dinge, gerade in geschwätzigen Boilerplatelastigen Sprachen sehr hilfreich (also die meisten statisch getypten OO-Sprachen). Wahrscheinlich hab ich auch noch ein paar Sachen vergessen die ich für selbstverständlich halte, die aber auch manchmal fehlen, so hab ich schon Editoren erlebt die - man mag es nicht glauben - schon bei simplen Markieren, Cut & Paste mit der Tastatur ins Schleudern kommen, manche Tastenkombinationen haben einfach ersatzlos gefehlt, alles schon erlebt (nicht mit Arduino aber mit anderen sogenannten "Editoren"). Ich fasse ungern die Maus an, ich muss mich in Nullkommanix zielsicher bewegen und markieren können, alle obigen Funktionen haben bequem über die Tastatur erreichbar zu sein. Hast Du Dich einmal die Annehmlichkeiten und Zeitersparnisse gewöhnt die es bringt wenn man den Text wirklich IN DER HAND hat, ihn mit den Fingerspitzen drehen und wenden, ihn aus allen Seiten betrachten, ihn durchleuchten, ihn formen kann ohne sich die Finger zu verrenken, vor allem bei umfangreicheren Projekten willst Du es nicht mehr missen. Natürlich kann das Atmelstudio nicht alles was oben aufgezählt ist oder vieles davon nur halbherzig, deshalb benutze ich auch lieber Eclipse CDT, das kommt schon näher an mein Ideal, erreicht es aber leider ebenfalls nicht. Bei der Arduino IDE bin ich mir nichtmal sicher ob sie auch nur ein einziges der obigen Features zur Verfügung stellt oder ob sie nicht doch nur ein simples Notepad mit Syntax-Highlighting und drangeklatschter Buttonleiste dahinter verbirgt.
> aber so richtig C++ ist das mit vorgegebenen Init und Loop Bereichen eben wieder
nicht
Naja, welches μC-Programm besteht von ganz weit oben betrachtet nicht so
aus:
1 | main(){ |
2 | init(); |
3 | while(1){ |
4 | machWas(); |
5 | }
|
6 | }
|
Schreibt einer der auch lieber keine Arduino-Libs benutzt, aber deshalb muß nicht alles daran verkehrt sein.
>Hat Atmel Studio einen Vorteil gegenüber der arduino IDE? Es ist beim Abstürzen schneller... Beitrag "Atmel Studio 4 (.19) stürzt bei ungünstigem Code ab" SCNR Paul
Hallo, ob Arduino IDE oder Amtel Studio ist vollkommen egal. Man kann den gleichen Code von Atmel Studio auch in der IDE schreiben. Man ist in der IDE nicht gezwungen die Arduino'schen Komfortbefehle zu verwenden. Atmel Studio hat Vorteile beim Syntax Highlighting, Befehlautovervollständigung, Suche von Befehlen, Funktionen und Variablen. Die IDE ist dafür sehr schlank und übersichtlich. Beides hat Vorteile. Wer den IDE Komfort in Atmel Studio möchte, kann das installieren. http://www.visualmicro.com/page/Arduino-Visual-Studio-Downloads.aspx Im allgemeinen ist die Arduino IDE ausreichend. Erst wenn es um Speed geht, schalten, takten, einlesen von Pins und digitalWrite/digitalRead zu langsam sind, weil wegen dem Komfort im Hintergrund mehr passiert, erst dann muß sich davon trennen und die klassische Programmierung verwenden. Das funktioniert aber wie gesagt auch in der IDE. Man muß nicht zwingend AS verwenden. Dann kann man den Komfort behalten und wo es darauf an kommt geht man einen Schritt tiefer.
Im Grunde genommen läuft es darauf hinaus: das Studio kann ein paar Kunststückchen mehr. So z.B. den anderen Atmel füttern. Der Benutzer muss allerdings auch ein bisschen mehr grübeln.
> Es ist beim Abstürzen schneller... Das Studio 4.19 hat nun schon ein paar Jährchen auf dem Buckel. Heute sind wir bei Studio 6.2 (?). > Och, die herablassenden Kommentare gehen los bei dem Wort "Arduino" > ob dahinter "IDE" oder "Board" steht ist egal Sehr wohl kann man den Arduino als kleines break out Board betrachten und auch mit dem Studio programmieren, besonders die Clones sind unschlagbar preiswert. Hat man mal die Software mit dem Studio erstellt, kann man leicht auf den nächst größeren Controller umsteigen. Für Leute, die nur gelegentlich programmieren, stellt die Arduino Entwicklungsumgebung einen leichten Einstieg zur Verfügung. Aber wer schon mal eine embedded Software mit 20.000-40.000 Zeilen code erstellt hat, möchte sowas möglicherweise nicht auf der Arduino-IDE programmieren. Erst recht nicht, wenn es auf die Performance ankommt. Man könnte auf einen größeren Controller umsteigen, damit steigt jedoch in der Regel die Stromaufnahme und/oder oft auch der Preis.
B e r n d W. schrieb: > Das Studio 4.19 hat nun schon ein paar Jährchen auf dem Buckel. Heute > sind wir bei Studio 6.2 (?) Das weiß ich, aber besser ist es dadurch nicht geworden. MfG Paul
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.