C ++以外のプログラミングオプション


14

C ++以外のプログラミング言語を使用してArduinoをプログラミングできますか?もしそうなら、どのプログラミング言語ですか?コードをコンパイルしてArduinoにロードするには、どのソフトウェアが必要ですか?



残念ながら、これはArduino.SE以外の質問の効果的な複製です。ここ参照してください。リンクした質問は、ベータ版の終了後にここに移動する必要があります。
アプノートン14

@anortonその質問は代替IDEについて尋ねています。この質問は、代替プログラミング言語について話しているため、重複していません。
14

@ user2202326申し訳ありません...そのスレッドのIDEよりも多くの人が異なる言語で応答していることを思い出したようですが、明らかに、間違っていました。続ける。
アプノートン14

C#に精通している場合は、Netduinoを調べることができます(Visual Studioが最適な方法ですが、C#コードをコンパイルする方法は他にもあります)。どんなボードがあり、互換性があるかどうかはわかりません。netduino.com-
ジェイソンダウン

回答:


5

よく知られているもの:

理論的には、avr-gccを拡張して他の言語をサポートできるはずですが、これは簡単なことではありません。C ++は、それは、新しいオブジェクトをインスタンス化するために落胆していてもして、例えば-私はC以外の言語のサポートは、一般的に言語コンポーネントのいくつかはかなり重いの制限が付属していることを警告もすべきmallocfreeメモリ空間とサイクルの両方で非常に高価です。

Googleを使用するほかに、次の参照情報が適用されます。ここをクリックしてください。


8

理論的には、AVRアセンブリを出力する任意のコンパイラを使用できます(コードサイズ、RAM使用量などのモジュロ制限)。

AVRバックエンドはLLVMGCCの両方に存在します。したがって、理論的には、多少の努力を払って、LLVMとGCCのフロントエンドでサポートされるほとんどの言語をAVRにコンパイルできます。大きな問題は、ライブラリのサポートなどです。

それでもなお、ここでは質問の精神ではなく、その手紙[1]に対するいくつかの奇妙な選択肢があります。

  • AMForthは、4 番目の方言をArduinoにフラッシュできます。
  • AVR-Ada:AVRマイクロコントローラー用のAda
  • 基本:Gotoを復活させてください!

ああ、生のAVRアセンブリを書くことができます!

[1]-これらを試したことはありません!


2

Javascript node.jsベースのシステムで作業している人もいます。すでに公開されているものであるEspruino、別のがあるTessel春2014年に起動します。


1

avr-g ++はすべての標準C / C ++コンストラクトをサポートする必要があるため、インラインアセンブリをコーディングできます。この arduino.ccフォーラムスレッドの詳細


インラインアセンブリはC / C ++標準の一部ではありませんが、gccとmicrosoft cコンパイラは非互換ですが、サポートしています。
tbodt 14

true、およびavr_gccも同様です。
Faux_Clef 14

とにかく、16進数で実行可能コードを書くことに勝るものはありません。
-Faux_Clef

1

誰もAVRアセンブリについて言及していないことに驚いています!

多くの場合、アセンブリは最も興味深い、または簡単なプログラミング方法とは考えられていませんが、それでもすべてのAVRベースのarduinoで100%可能です。SAMボードはこのフレーバーではおそらく動作しませんが、プログラミングでアセンブリを使用することは可能です。

すべてのArduinoボード(投稿時点)は、Atmelベースのチップ用に作成されたAtmel Studioを介したアセンブリプログラミングをサポートしています。

アセンブリは、すべてのAtmelデバイスによって単純にサポートされており、動作するためにブートローダーを必要としないため、すべてのプログラムは本質的にリアルタイムです。


2
アセンブリは、Arduino IDEインストールに含まれているgccツールチェーンでもサポートされていることに注意してください。
エドガーボネット

@EdgarBonet正しい。これが、__asm__("Assembly code here")インラインアセンブリを任意のスケッチに追加する理由です。しかし、ほとんどのプログラムでは、この方法ではプラットフォームに依存しないようにするのは難しいため、これは悪い考えです。
-tuskiomi
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.