Welche Programmiersprachen werden zum Programmieren von Arduino unterstützt?

17

Ich möchte anfangen, mit Arduino zu spielen.

Ich habe gelesen, dass C und C ++ die offiziellen Sprachen sind, aber ich habe auch einen anderen Weg gefunden, um mit Python oder zu kommunizieren Beispiel Java .

Welche Programmiersprachen werden zum Programmieren von Arduino unterstützt?
Gibt es Einschränkungen bei der Verwendung von Python oder Java?

systempuntoout
quelle
Bei Fragen zur Arduino-Programmierung lesen Sie bitte die StackExchange-Karte, die Arduino gewidmet ist .
Nick Alexeev

Antworten:

14

Mein Rat, bleiben Sie bei der von C ++ abgeleiteten Arduino-Sprache oder verwenden Sie rohes C / C ++. Es ist ideal für Mikrocontroller geeignet. Aber wenn Sie esoterische Sprachen mögen:

Toby Jaffey
quelle
Ich habe gelesen, dass beim Kauf eines Schildes normalerweise eine C-Bibliothek mitgeliefert wird, mit der es mit dem Arduino-Programm verbunden wird. Können diese Bibliotheken auch in den vorgeschlagenen esoterischen Sprachen importiert werden?
Systempuntoout
4
Mit ein paar Portierungsarbeiten, ja. Für interpretierte Sprachen können Sie den Treiber des Shields in den Interpreter portieren und Aufrufe hinzufügen. Für eine kompilierte Sprache können Sie den Shield-Treiber zur Laufzeit hinzufügen.
Toby Jaffey
8

Sie können die Sprache verwenden, die Sie für angenehmer halten, und dann nach einer Möglichkeit suchen, sie in Arduino Code Machine zu kompilieren. Zum Beispiel benutze ich Go Lang und ich benutze gobot.io, um es zu tun ...

Existieren Sie Cylon.js, wenn Sie in JavaScript oder Artoo für Ruby-Entwickler programmieren möchten.

Tatsächlich ist C das häufigste, weil die IDE von Arduino damit arbeitet.

Careuno Merchan
quelle
Nein, C ++ ist am weitesten verbreitet.
Ignacio Vazquez-Abrams
Am häufigsten ist C.
Careuno Merchan
Es sieht aus wie C, aber es ist wirklich die C-ähnliche Teilmenge von C ++. Versuchen Sie es zur Demonstration __flashin einer Arduino-Skizze. Es wird nicht funktionieren, da die Arduino IDE einen C ++ - Compiler verwendet, während ein ähnliches Programm, das den C-Compiler verwendet, ordnungsgemäß kompiliert wird.
Ignacio Vazquez-Abrams
1

Du bist ein bisschen verwirrt. Ich würde mich an die c / c ++ - Arduino-Umgebung für das Arduino halten. Java, Python, Processing werden auf dem PC verwendet, um die Kommunikation mit dem Arduino auszuführen. Sie sind keine Sprache für das Arduino. Eine Einschränkung für sie ist, dass sie nicht auf dem Arduino laufen.

russ_hensel
quelle
8
Ich denke, Sie sind vielleicht verwirrt. Das Arduino führt keinen interpretierten Code aus, es wird kompiliert. Code kann aus jeder höheren Sprache kompiliert werden, die über einen Compiler für die Hardware verfügt.
Brianary
Ich 2. @brianary, diese Antwort ist falsch und sollte nicht akzeptiert werden, um verwirrende Leser zu vermeiden. Mikrocontroller führen kompilierten Code wie Mikroprozessoren aus. Jede höhere Sprache kann verwendet werden, wenn sich jemand die Mühe gemacht hat, einen Compiler für Ihre Plattform zu erstellen. Einige Sprachen wie Java und Python sind nicht unbedingt kompiliert und erfordern möglicherweise einen Interpreter. Als Standardprogramm hat jedoch möglicherweise jemand eine für Ihre Plattform erstellt.
Mister Mystère
Wer hat gesagt, der Arduino führt Interpreter-Code. Natürlich kann das Arduino jede Sprache ausführen, für die es einen Kompatiblen gibt, aber es kann jeden Code interpretieren, den jemand bemüht, einen Interpreter dafür zu schreiben. Das habe ich nicht recherchiert. Ich habe nur empfohlen, mich an die Standardumgebung von c / c ++ zu halten, und festgestellt, dass der PC bei der Kommunikation eine "PC-Sprache" ausführen kann.
russ_hensel
"Wenn sich jemand die Mühe gemacht hätte, einen Compiler für Ihre Plattform zu erstellen". die Schlüsselantwort. Leider ist die Arduino-Umgebung C / C ++
Gabe Nemeth