2013-08-30 7 views
19

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++

+0

Die Programmiersprache von thr Arduino ** ist ** C oder C++. Sie können Klassen verwenden, wann immer Sie möchten. –

Antwort

40

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. :)

+0

@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

+0

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

+0

@Michaelslec Ich habe meine Antwort mit etwas aktualisiert, das dir gefallen könnte :) Sag mir, was du darüber denkst! – ladislas

6

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.

Verwandte Themen