Gibt es eine Möglichkeit oder ein tutorial für die Umwandlung der Arduino-code zu C-code?
Ich weiß, dass diese Frage ist allgemein, aber ich konnte Sie nicht finden, ein tutorial oder eine gute Codierung Weg, um zu konvertieren Arduino-code (ich meine den code, den wir schreiben, die auf die Arduino-software, und es spielt keine Rolle, für Arduino Uno oder Mega oder ... ), auch wenn eine kleine Probe.
Gibt es ein tutorial?
Ich nur die Technik lernen wollen, und ich weiß, dass es hängt von dem Projekt ab.
InformationsquelleAutor | 2012-04-24
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Arduino-code ist, mehr oder weniger, C-code.
Die einzigartige Dinge, die passieren mit Arduino ist, dass der code vorverarbeitet (zum Beispiel, geben Sie einfach den Haken durch die Gründung der
setup
undloop
Funktionen) und hat ein managed build/upload-Vorgang, der die Pflege der board-Grenzen, schließt, Bibliotheken, etc...Es ist durchaus möglich, mit der gleichen toolkit selbst zu bauen und führen Sie den code, das ist, wie ich es mache. Arduino und GCC kompilieren und hochladen von Programmen, die nur mithilfe von makefiles ist der nützlichste link, den ich gefunden habe, deckt die Schritte, die Sie brauchen, um loszulegen.
Wie gesagt, ich habe die Arduino IDE und die
avr-gcc
route selbst, denn wenn Sie wissen, die GNU-tools, die Sie tun können, viel mehr wichtige Dinge - wie die C++ - standard-Bibliotheken. Ich vermisste meinevector
s, was kann ich sagen. avr-libc hinkt ein bisschen, wenn es um die komplette C++ - Funktionen, so dass es schwer zu Stopfen in der STL, aber Andy Brown ist mittlerweile viel dass es funktioniert.Werfen die Sachen zusammen, und Sie haben eine Recht mächtige Entwicklungsumgebung.
(Edit: ich habe den sehr nützlichen link in Matt ' s Antwort beim schreiben meiner eigenen Antwort. Lassen Sie uns also sagen, dass das, was unten ist, ist eine nicht technische Zusammenfassung der link).
Matt rechten beantwortet. Ich möchte hinzufügen, zusätzliche Informationen.
Den Schlüssel, um zu verstehen, Arduino-Programmierung ist in das Verzeichnis
Arduino-1.0\hardware\arduino\cores\arduino
Finden Sie die
main.cpp
- Datei mit:Tun "setup()" und "loop()" (und auch "serialEventRun (), wenn Sie Lesen Sie die Arduino-Dokumentation) ring a bell? 🙂
Arduino versteckt sich nur.
Arduino verwendet die C++ - Sprache. Natürlich können Sie C, wenn Sie Ihren code kompilieren selbst mit avr-gcc, aber die Art, wie die Arduino-IDE konfiguriert ist, es ist reines C++.
Jedoch als mikrocontroller sind nicht wirklich angepasst an Objekt-orientierten Entwicklung, einige features fehlen. Ich denke, über den "new" und "delete" Operatoren. Tun Sie es nicht, so aus der box, sollten Sie vermeiden, mit der heap bei der Entwicklung mit Arduino. Es ist, warum Sie sollten vorsichtig sein, wenn Sie wollen verwenden Sie einige standard-C++ - Bibliotheken. Sie können nicht angepasst werden für die mikrocontroller-Programmierung (zu viele Speicheroperationen).
In der
Arduino-1.0\hardware\arduino\cores\arduino
- Verzeichnis, finden Sie auch in der Umsetzung des Arduino-Bibliothek. Es erlaubt zu beobachten, die "low-level" - mikrocontroller-Funktionen (vom avr-libc) existieren und wie Sie implementieren können, die Ihre eigenen Bibliotheken und tools.Durch die Art und Weise, wie Sie wollten wissen, wie Sie könnte-port Arduino-code in C, avr-libc ist eine C-Bibliothek und nicht C++. So können Sie sehen, wie Arduino legt seine C++ - Codes in C-code.
In der
File/Preferences
Menü, können Sie "finden Sie die ausführliche Ausgabe", um zu sehen, welche Parameter und-Dateien werden verwendet, um die endgültige Arduino binäre (und, wo die temporären build-Verzeichnis ist).Schließlich müssen Sie auch wissen, dass die Arduino-boards haben einen bootloader mit embedded code. Es erleichtert die Bereitstellung von der Arduino IDE auf der Arduino-board. Also das Arduino-board enthält tatsächlich mehr code, als Ihre eigenen.
Es ist nicht eine Umwandlung tutorial, aber ein sehr schönes schreiben, über das, was hinter arduino Hallo Welt:
Eine tour von der Arduino internals. Wie funktioniert hello world eigentlich?