題:
C ++以外的編程選項
tstew
2014-02-13 08:53:08 UTC
view on stackexchange narkive permalink

我可以使用C ++以外的任何其他編程語言對Arduino進行編程嗎?如果是這樣,哪種編程語言?我需要什麼軟件來將代碼編譯並加載到Arduino?

相關:http://arduino.stackexchange.com/questions/105/programming-an-arduino-using-python-rather-than-c-c
不幸的是,這是一個非Arduino.SE問題的有效副本:[請參見此處](http://electronics.stackexchange.com/q/67160/17375)我認為我鏈接的問題應在Beta結束後移到此處。 ,但不僅如此。
@anorton該問題詢問的是替代IDE。這個問題不是重複的,因為它討論的是替代編程語言。
@user2202326對不起...我似乎回想起與該線程上的IDE相比,使用不同語言進行響應的人更多,但是,顯然,我錯了。繼續。
如果您熟悉C#,則可以研究Netduino(可以使用Visual Studio,但是還有其他方法可以編譯C#代碼)。我不知道您擁有什麼板,但是它是否兼容。 http://netduino.com/
五 答案:
Matthew G.
2014-02-13 09:56:05 UTC
view on stackexchange narkive permalink

理論上,可以使用任何輸出AVR程序集的編譯器(代碼大小,內存使用率等的模數限制)。

LLVM GCC都具有AVR後端-因此,從理論上講,經過努力,LLVM和GCC的前端兩端可以編譯為AVR。一個大問題將是圖書館的支持等等。

儘管如此,對於問題的實質,而不是它的字母[1],這裡有一些奇怪的選擇。

哦,您可以編寫原始的 AVR彙編

[1]-我還沒有嘗試過!

Hardik Thaker
2014-02-13 12:58:15 UTC
view on stackexchange narkive permalink

一些眾所周知的:

從理論上講,您應該能夠擴展avr-gcc以支持其他語言,儘管這並非易事。我還需要說明的是,對C以外的其他語言的支持通常會在語言組件方面受到一些相當重要的限制-例如,即使使用C ++,也不鼓勵將新對象實例化為 malloc free 在內存空間和周期上都非常昂貴。

除了使用Google之外,還可以使用以下參考文獻。點擊此處。

Matthew R.
2014-02-19 04:21:17 UTC
view on stackexchange narkive permalink

也有一些人在基於 Javascript node.js的系統上工作。一個已經公開發布的是 Espruino,另一個是 Tessel,將於2014年春季發布。

Faux_Clef
2014-02-17 05:04:50 UTC
view on stackexchange narkive permalink

因為avr-g ++應該支持所有標準C / C ++構造,所以可以對內聯彙編進行編碼。有關 arduino.cc論壇主題

的更多信息
內聯彙編不是C / C ++標準的一部分,但gcc和Microsoft c編譯器支持它,儘管不兼容。
正確,avr_gcc也是如此。
無論如何,最好不要用十六進制編寫可執行代碼。
tuskiomi
2019-06-13 20:27:23 UTC
view on stackexchange narkive permalink

令我驚訝的是,沒有人提到 AVR組裝

組裝通常不被認為是最有趣的方法,甚至不是一種簡單的編程方法,但是仍然如此。 ,所有基於AVR的arduino都有100%的可能。 SAM板可能無法使用這種風格,但是仍然可以在其編程中使用彙編。

所有Arduino板(截至發佈時)都通過 Atmel Studio支持彙編編程,

Assembly最初受所有Atmel設備支持,並且不需要啟動加載程序即可工作,因此所有程序本質上都是實時的。

請注意,gcc工具鏈也支持彙編,該工具鏈包含在Arduino IDE安裝中。
@EdgarBonet正確,這就是為什麼__asm __(“此處的裝配體代碼”)`可以向任何草圖添加嵌入式裝配體。對於大多數程序來說,這是個壞主意,因為用這種方法很難實現平台獨立性。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...