Wie man einen Arduino mit C++ programmiert [closed]

Lesezeit: 4 Minuten

Benutzer-Avatar
Michaelslec

Also habe ich in letzter Zeit mit meinem Arduino herumgespielt und mich gefragt, ob es eine Möglichkeit gibt, das Arduino in C++ zu programmieren. Ich programmiere es mit C++/wird bearbeitet Sprache in Vim und Verwenden eines Makefiles zum Kompilieren und Hochladen auf den Arduino.

Aber mein Ziel ist es, Klassen und all die großartigen C++-Funktionen (oder zumindest die Summe) verwenden zu können, um es zu programmieren. Irgendwann würde ich es sogar gerne in rohem C programmieren, und ich habe nur Probleme, herauszufinden, wie das geht. Es wäre toll, wenn mich jemand in die richtige Richtung weisen oder mir weiterhelfen könnte.

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

    Benutzer529758

    30. August 2013 um 7:46 Uhr

Benutzer-Avatar
ladislaus

Hier ist meine Erfahrung: Ich baue ein intelligentes Roboterspielzeug für autistische Kinder mit Arduino, Sensoren, Motoren, LED und Bluetooth. Ich habe meine eigenen Bibliotheken geschrieben, um mit C++ genau das zu tun, was ich brauchte. Aber ich habe herausgefunden, dass der Arduino IDE Compiler eine ältere Version ist, die die neuen C++11-Features nicht unterstützt.

Also musste ich einen Weg finden, C++11-Code zu kompilieren und auf meinen Arduino hochzuladen. Es stellt sich als “hübsch” einfach heraus: Ich brauchte ein Makefile, die avr-gcc 4.8-Toolchain und voilà! Der Makefile-Job wird von Sudar (https://github.com/sudar/Arduino-Makefile) und es funktioniert super. Ich musste es jedoch ein wenig anpassen, damit es für mein Projekt funktioniert.

Hier ist eine Dokumentation, die ich für mein Projekt geschrieben habe. Musst du dir mal anschauen, vielleicht hilft es dir. https://github.com/WeAreLeka/moti/blob/master/INSTALL.md

Ich hoffe es hilft! Prost 🙂

EDIT 16.08.2014:

Da ich viele ähnliche Anfragen von Freunden und anderen Entwicklern erhalten habe, habe ich beschlossen, eine Art von Rahmen um Ihre Arduino-Projekte schnell und einfach zum Laufen zu bringen.

Dies ist das Nacktes Arduino-Projekt

Hoffe es konnte etwas helfen! Wenn Sie Fehler oder Dinge finden, die ich besser machen könnte, können Sie sie gerne ausfüllen und herausgeben. 🙂

  • @Michaelslec hallo! Es ist eine Weile her, und ich freue mich sagen zu können, dass ich Ihrem Rat gefolgt bin und jetzt Vim lerne 🙂 Ich benutze immer noch manchmal etwas ST für die Geschwindigkeit, aber ich zwinge mich zu Vim, weil es sich so großartig anfühlt!

    – Ladilas

    14. Januar 2014 um 11:38 Uhr

  • Ich freue mich so für dich! Eigentlich bin ich seit geraumer Zeit auf Sublime Text 3 umgestiegen, aber nach einer Weile kam ich ohne vim nicht mehr aus. Wenn Sie möchten, leihe ich Ihnen gerne meine .vimrc-Datei. Ich habe einige ziemlich coole Verknüpfungen darin eingerichtet. Wenn Sie sich außerhalb von Arduino mit C++-Programmierung beschäftigen, habe ich einige Makefiles erstellt. Einfach pn wenn du sie sehen möchtest! Vim rockt!

    – Michaelslec

    17. Januar 2014 um 4:53 Uhr


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

    – Ladilas

    16. August 2014 um 19:23 Uhr

  • danke für deine arbeit. aber es fällt mir schwer zu verstehen, wie das funktioniert: Was ist, wenn C++-Code einige Systemaufrufe aufruft (sagen wir fflush()), aber das Ardunio-System ist kein vollständiges Betriebssystem, hat vielleicht nicht einmal MMU, also wie laufen diese Systemaufrufe? in Binärdatei kompiliert werden?

    – Teddybär

    29. November 2015 um 23:31 Uhr

  • Danke für die tolle Arbeit @ladislas. Das war genau das, wonach ich gesucht habe!

    – Hariharan Ragothaman

    7. November 2021 um 22:48 Uhr


Die von der Arduino IDE unterstützte Sprache ist im Wesentlichen C++ mit einigen zusätzlichen Funktionen, die von den Arduino-Programmierern implementiert wurden. Auch in einer Skizze codieren Sie einfach die setup und loop Routinen (es gibt ein paar andere, zu denen Sie irgendwann kommen werden, wenn Sie ein fortgeschrittenerer Programmierer werden).

In einer Skizze können Sie Klassen in einer Bibliothek definieren und diese Bibliothek mit der Arduino IDE einbinden. 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 so, als wären Sie es), aber Sie benötigen immer noch einen Compiler, der auf den richtigen Atmel-Prozessor abzielt.

Schließlich können C++-Klassen groß werden, sodass Ihre Quelle irgendwann über das hinauswächst, was der Prozessor speichern kann. Die Arduino-Klassen sind also spärlich und auf den Punkt!

Zu Beginn würde ich die Arduino IDE verwenden und Skizzen schreiben (die sowieso meistens C++ sind). Und wenn es die Gelegenheit erlaubt, können Sie Ihre eigenen Bibliotheken in C und/oder C++ programmieren.

1385780cookie-checkWie man einen Arduino mit C++ programmiert [closed]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy