So kürzlich habe ich mit meinem Arduino herum gespielt und ich fragte mich, ob es eine Möglichkeit gäbe, ich könnte das Arduino in C++ programmieren. Was ich getan habe, ist es mit der Programmiersprache C++/in Vim zu programmieren und ein Makefile zum Kompilieren und Hochladen auf das Arduino zu verwenden. Aber mein Ziel ist es, in der Lage zu sein, Klassen und all die großartigen C++ - Funktionen (oder zumindest die Summe) zu benutzen, um sie zu programmieren. Irgendwann würde ich es sogar lieben, es in rohen c zu programmieren, und ich habe nur Schwierigkeiten, herauszufinden, wie man beides macht. Es wäre toll, wenn mir jemand in die richtige Richtung zeigen oder mir helfen könnte. Vielen Dank! ~ michaelWie programmiert man Arduino mit C++
Antwort
Hier ist meine Erfahrung: Ich baue ein intelligentes Roboterspielzeug für autistische Kinder mit Arduino, Sensoren, Motoren, LED und Bluetooth. Ich schrieb meine eigenen Bibliotheken, um genau das zu tun, was ich mit C++ brauchte. Aber ich fand heraus, dass der Arduino IDE Compiler eine ältere Version ist, die die neuen C++ 11 Funktionen nicht unterstützt.
Also musste ich mir einen Weg finden, um C++ 11 Code zu kompilieren und auf meinen Arduino hochzuladen. Es stellt sich als "ziemlich" einfach heraus: Ich brauchte ein Makefile, acr-gcc 4.8 und voilà! Der Makefile-Job wird von Sudar erledigt (https://github.com/sudar/Arduino-Makefile) und es funktioniert super. Ich musste es ein wenig anpassen, damit es für mein Projekt funktioniert.
Hier ist eine Dokumentation, die ich für mein Projekt geschrieben habe. Sie sollten einen Blick darauf werfen, es könnte für Sie nützlich sein. https://github.com/WeAreLeka/moti/blob/master/INSTALL.md
Hoffe es hilft! Prost :)
EDIT 2014.08.16:
Weil ich viel ein Anfragen ähnlich wie diese von Freunden und anderen Devs bekam, habe ich mich entschlossen eine Art Rahmen einzurichten, Starten Sie Ihre Arduino-Projekte schnell und einfach.
Dies ist der Bare Arduino Project
Hoffe, dass es keine Hilfe sein könnte! Wenn Sie Bugs oder Sachen finden, die ich besser machen könnte, füllen Sie bitte aus. :)
@Michaelslec Hallo! Es ist schon eine Weile her, und ich bin glücklich zu sagen, dass ich Ihrem Rat gefolgt bin und jetzt Vim lerne :) Immer noch ein bisschen ST für Geschwindigkeit, aber ich zwinge mich in Vim, weil es sich so großartig anfühlt! – ladislas
Ich freue mich so für dich!Ich wechselte eigentlich schon längere Zeit zu Sublime Text 3, aber nach einer Weile konnte ich ohne vim nicht mehr zurechtkommen. Wenn Sie möchten, würde ich Ihnen gerne meine .vimrc-Datei leihen. Ich habe einige ziemlich coole Shortcuts eingerichtet. Außerdem, wenn Sie in C++ Programmierung außerhalb von Arduino sind, habe ich einige Makefiles gemacht. Just pm, wenn Sie sie sehen möchten! Vim rockt! – Michaelslec
@Michaelslec Ich habe meine Antwort mit etwas aktualisiert, das dir gefallen könnte :) Sag mir, was du darüber denkst! – ladislas
Die Sprache, die von der Arduino IDE unterstützt wird, ist im Grunde C++ mit einigen zusätzlichen Funktionen, die von den Arduino-Programmierern implementiert werden. Auch in einer Skizze codieren Sie einfach die setup
und loop
Routinen (es gibt ein paar andere, die Sie schließlich zu bekommen, wie Sie ein fortgeschrittener Programmierer werden).
In einer Skizze können Sie Klassen in einer Bibliothek definieren und diese Bibliothek mit der Arduino IDE einschließen. Die Arduino IDE implementiert einen Atmel-Compiler, der Code für den Arduino-Prozessor erstellt (es gibt mehrere Modelle). Sie können außerhalb der Arduino-IDE arbeiten (klingt wie Sie sind), aber Sie müssen immer noch einen Compiler haben, der auf den richtigen Atmel-Prozessor abzielt.
Schließlich können C++ - Klassen groß werden, so dass Ihre Quelle zu einem gewissen Zeitpunkt übertrifft, was der Prozessor speichern kann. Also, die Arduino-Klassen sind spärlich und auf den Punkt!
Zunächst würde ich die Arduino-IDE verwenden und Skizzen (die sowieso meistens C++ sind) schreiben. Und wenn die Gelegenheit es erlaubt, können Sie Ihre eigenen Bibliotheken in C und/oder C++ programmieren.
- 1. Wie programmiert man 3D-Modelle?
- 2. Arduino Kommunikation mit C#
- 3. Wie man Arduino von einem PC mit C++
- 4. Wie programmiert man Themen für Linux?
- 5. Wie programmiert man dieses Puzzle rekursiv?
- 6. Wie werden Logarithmen programmiert?
- 7. Wie programmiert man ein Bluetooth LE Gerät mit C auf Linux x86?
- 8. Unerwartete Lambda Verhalten C++ mit Arduino
- 9. Von C# zu Arduino mit Serial.Port
- 10. Wie programmiert man in Delphi für Microsoft Surface Pen?
- 11. git --- Wie programmiert man `git push` auf Linux?
- 12. LSA - Latente semantische Analyse - Wie man es in PHP programmiert?
- 13. Wie programmiert man Schrödinger Gleichung in 1D zu lösen?
- 14. serielle Kommunikation mit ARDUINO in C++
- 15. Python: Wie man einen zusammenbrechenden IDE-Code programmiert?
- 16. Wie programmiert man mehrere Größen von Bildschirmen in uwp?
- 17. Android Button drawableLeft - wie man es fest programmiert (kein xml)
- 18. C: String-Manipulationen und Arduino
- 19. Arduino UNO Grundlagen für C#
- 20. Webservice C# JSON zu Arduino
- 21. C++/C Arduino Stoppuhr Code überprüfen
- 22. Verzögerung in Visual C# - Arduino
- 23. C++/Arduino: dynamische Int-Array
- 24. C + + und arduino serielle Verbindung
- 25. Verbindung mit Arduino Bluetooth
- 26. Kann ein Pin am Arduino (über Code) programmiert werden, um eine bestimmte Spannung auszugeben?
- 27. Wie liest man Daten von Arduino Board zu PC mit C?
- 28. Wer weiß, mit was Picasa programmiert ist?
- 29. Verwenden von C++ - Klassen in Arduino
- 30. Wie verhindert man Ajax Überlauf/Serverabsturz? (Arduino/ESP8266 Environment)
Die Programmiersprache von thr Arduino ** ist ** C oder C++. Sie können Klassen verwenden, wann immer Sie möchten. –