Ist es ratsam, bei Arduino IDE zu bleiben?

24

Ist es besser, über die Arduino IDE zu AVR Studio (oder einer anderen besseren Alternative?) Zu wechseln. Fühlen Sie sich wie es so einfach und kindisch ist. Ich muss die Idee und die Wahl der Experten kennen.

Anubis
quelle
1
Warum probierst du AVR Studio nicht einfach mal aus? Nur Sie können entscheiden, ob es Ihren Bedürfnissen entspricht und was für Sie schneller / einfacher ist .
PetPaulsen
3
@PetPaulsen Ja, ich weiß, das ist der beste Weg. Ich werde es bald tun (wahrscheinlich morgen). Aber wollte nur wissen, wie andere das sehen. Auf diese Weise können Sie auch viel mehr lernen.
Anubis
Das Arduino Visual Studio Pro- Plugin wurde kürzlich aktualisiert, um Atmel Studio 6.1 zu unterstützen . Die Installation dauert weniger als 10 Minuten. Jede Arduino-Skizze kann geöffnet, bearbeitet, kompiliert, hochgeladen und viele andere Funktionen wie serielle Monitore, Explorer-Beispiele und optionaler Arduino-USB-Debugger
Visual Micro,

Antworten:

19

Ein großer Vorteil von zB AVR Studio ist die Möglichkeit, alle für ATmega168 / 328 erstellten Bibliotheken zu verwenden, bevor Arduino auf den Markt kam. Auf AVRfreaks und Hunderten anderer Hobby-Websites finden Sie FFT-Bibliotheken, Bibliotheken für die Verwendung eines von Ihnen gekauften dunklen ICs, rudimentäre digitale Filter und vieles mehr.

Sie können auch effizienteren Code schreiben, wenn Sie lernen, wie Sie Standard-AVR-Bibliotheken verwenden und das Datenblatt (oder die Tutorials) des Mikrocontrollers lesen. Für einfache Anwendungen ist Arduino-Code einfach zu schreiben und zu debuggen. Manchmal möchten Sie jedoch das Timing effizienter steuern. AnalogRead()benötigt 100µs zur Ausführung. Das entspricht 10ksps (Tausenden von Samples pro Sekunde). Sie können das auf 70ksps leicht pumpen, wenn Sie auf niedrigen Code für das ATmega168 / 328 zugreifen. All das können Sie natürlich in der Arduino IDE tun, aber irgendwann werden Ihre Projekte möglicherweise zu komplex und Sie möchten Ihre eigenen Bibliotheken mit schnelleren Funktionen schreiben. Dafür ist AVR Studio möglicherweise besser geeignet.

Wenn Sie jemals einen anderen AVR-Chip als den von Arduino angebotenen programmieren möchten, benötigen Sie einen Programmierer und eine andere IDE. Kleine Projekte, die 1 KB Code verwenden, können auf einem ATtiny ausgeführt werden. Sie können ein Dutzend davon für den Preis eines einzelnen ATmega328 kaufen. Diese Chips sind billig und verfügen über die meisten Funktionen von Arduino: I2C, SPI, ADC. Sie können sogar Bibliotheken finden, die eine USB-HID-Schnittstelle hinzufügen! Keine seriellen Treiber oder so!

Persönlich schreibe ich zuerst Code in der Arduino IDE, ohne Code-Optimierung. Wenn es funktioniert, kann dieser Code einfach in Standard-C ++ - Bibliotheken transkribiert und effizienter gestaltet werden.

Jonny B Gut
quelle
26

Es ist einfach, weil es für jeden zugänglich sein muss , und das funktioniert: Jeder und seine kleine Schwester können Arduino programmieren.

Wenn Sie das Gefühl haben, dass Sie mit so etwas wie Real Programming umgehen können, würde ich das auf jeden Fall tun. Sie müssen mehr Code schreiben, haben aber auch mehr Kontrolle. Ein wichtiger Punkt: Die Arduino-Bibliothek ist schrecklich ineffizient: Funktionen wie DigitalWriteund DigitalReadkönnen bis zu 50-mal schneller erstellt werden .

Stevenvh
quelle
Wow, ich habe nie bemerkt, dass es so ineffizient ist. Ich wusste, dass es Gemeinkosten gab, aber ... wow.
Polynom
2
Danke für die Neuigkeiten über DigitalRead/Write. Nie gewusst, dass ..
Anubis
7
@ Anubis - Ich habe JeeLabs erst kürzlich selbst entdeckt. Sie haben einen der besten Blogs, die ich je gesehen habe. Auf jeden Fall empfehlenswerte Lektüre.
Stevenvh
2
Vor
Jon L
12

Die meisten Antworten konzentrierten sich auf die Verwendung der Arduino-Karte als Standard-AVR-Karte. Sie können aber auch eine fortgeschrittenere IDE verwenden und trotzdem die Einfachheit der Arduino-Codierung und der integrierten Bibliotheken (zusammen mit den oben genannten Nachteilen) nutzen. EngBlaze hat hierzu ein Tutorial erstellt: Tutorial: Verwenden von Atmel Studio 6 mit Arduino-Projekten

ViennaMike
quelle
3

Die Arduino IDE handelt Code-Effizienz für Bequemlichkeit und Entwicklungsgeschwindigkeit für kleine Projekte. Da Experten auch Fristen haben, ist es durchaus akzeptabel, die Arduino IDE für einen schnellen Proof-of-Concept zu verwenden oder ein anderes Projekt beim Debuggen zu unterstützen.

Wenn Sie sich auf die Entwicklung eingebetteter Software spezialisieren möchten, müssen Sie in der Lage sein, leistungsfähigere Entwicklungstools wie AVR Studio oder avr-gcc und Ihre bevorzugte IDE zu verwenden.

Die Beherrschung der Entwicklungstools, das Erlernen der Funktionsweise eines Mikrocontrollers und die Kenntnis einiger Baugruppen sind definitiv von Vorteil, wenn Sie an Systemen mit geringem Arbeitsspeicher und / oder geringem Stromverbrauch und / oder hoher Leistung arbeiten möchten.

Sylvain
quelle
Danke für die ausführliche Antwort, das ist mir lieber. Dem stimme ich mit Sicherheit zu, insbesondere mit dem letzten Punkt. Obwohl ich neu in Atmel-Prozessoren bin, weiß ich etwas mehr über die interne Organisation von PICs und kann keine sokomplexen Assembler-Codes erstellen. Obwohl das ein bisschen schwierig erscheint, können Sie genau lernen, wie sich der Mikrocontroller verhält. Ich denke, viele werden diese Antwort nützlich finden. Hoffe du bekommst mehr Stimmen,: D .. (und das ist deine erste Antwort, was?).
Anubis
2
Heutzutage gibt es kaum eine Situation, in der es überhaupt nützlich ist, fließend in der Montage zu sein (in der Lage zu codieren, ohne ständig in der Dokumentation nachzuschauen). Es ist viel nützlicher, Ihren Compiler zu beherrschen, seine Knicke und die guten Optionen zu kennen. Viel Glück.
Sylvain