Fråga:
Andra programmeringsalternativ än C ++
tstew
2014-02-13 08:53:08 UTC
view on stackexchange narkive permalink

Kan jag programmera min Arduino med något annat programmeringsspråk än C ++? Om ja, vilka programmeringsspråk? Vilken programvara skulle jag behöva för att kompilera och ladda min kod på Arduino?

Relaterat: http://arduino.stackexchange.com/questions/105/programming-an-arduino-using-python-rather-than-c-c
Tyvärr är detta en effektiv duplikat av en icke-Arduino.SE-fråga: [se här] (http://electronics.stackexchange.com/q/67160/17375) Jag tycker att frågan jag länkade bör flyttas hit efter att beta slutar , men inte bara ännu.
@anorton Den frågan ställs om alternativa IDE: er. Denna fråga är inte en duplikat eftersom den talar om alternativa programmeringsspråk.
@user2202326 Tyvärr ... Jag verkade komma ihåg att fler svarade med olika språk än IDE på den tråden, men tydligen hade jag fel. Fortsätt.
Du kan titta på Netduino om du är bekant med C # (Visual Studio är vägen att gå, men det finns andra sätt att kompilera C # -kod). Jag vet inte vilket kort du har och om det är kompatibelt. http://netduino.com/
Fem svar:
#1
+8
Matthew G.
2014-02-13 09:56:05 UTC
view on stackexchange narkive permalink

I teorin kan alla kompilatorer som matar ut AVR-montering användas (modulo-begränsningar för kodstorlek, ramanvändning etc).

AVR-backends finns för både LLVM och GCC - så i teorin, med viss ansträngning, de flesta språk som stöds av LLVM och GCC: s front- ändar kan sammanställas till AVR. En stor fråga kommer att vara biblioteksstöd etc.

Ändå, här är ett par udda val för andan i frågan snarare än dess bokstav [1].

Åh, och du kan skriva rå AVR Assembly!

[1] - Jag har dock inte provat dessa!

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

Några allmänt kända:

I teorin borde du kunna utöka avr-gcc för att stödja andra språk, även om detta inte är ett litet företag. Jag bör också påminna om att stöd för andra språk än C vanligtvis kommer med ganska tunga begränsningar för språkkomponenter - till exempel, även med C ++ är det avskräckt att starta nya objekt som malloc och gratis är extremt dyra i både minnesutrymme och cykler.

Förutom att använda Google gäller följande referenser Klicka här.

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

Det finns också vissa som arbetar med Javascript node.js-baserade system. En som redan är tillgänglig för allmänheten är Espruino och en annan är Tessel som lanseras våren 2014.

#4
+1
Faux_Clef
2014-02-17 05:04:50 UTC
view on stackexchange narkive permalink

Eftersom avr-g ++ borde stödja alla vanliga C / C ++ -konstruktioner är det möjligt att koda inline-montering. Mer information om denna forumtråd för arduino.cc

Inbyggd montering är inte en del av C / C ++ - standarderna, men gcc och microsoft c-kompilatorn stöder det, även om det är oförenligt.
sant, och så gör avr_gcc.
Ingenting slår att skriva körbar kod i hex ändå.
#5
+1
tuskiomi
2019-06-13 20:27:23 UTC
view on stackexchange narkive permalink

Jag är förvånad över att ingen har nämnt AVR Assembly!

Montering anses inte ofta vara den mest intressanta eller till och med en enkel programmeringsmetod, men det är ändå , 100% möjligt med alla AVR-baserade arduino. SAM-kort kommer sannolikt inte att fungera med denna smak, men det är fortfarande möjligt att använda montering i sin programmering.

Alla Arduino-kort (per post) stöder monteringsprogrammering via Atmel Studio, SDK gjord för Atmel-baserade marker.

Montering stöds naivt av alla Atmel-enheter och kräver ingen startladdare för att fungera, så alla program är i sig i realtid.

Observera att montering också stöds av gcc-verktygskedjan, som ingår i Arduino IDE-installationen.
@EdgarBonet Correct, varför `__asm ​​__ (" Assembly code here ")` `arbetar för att lägga till in-line montering till alla skisser. För de flesta program är det dock en dålig idé, eftersom det är svårt att uppnå plattformsoberoende med denna metod.


Denna fråga och svar översattes automatiskt från det engelska språket.Det ursprungliga innehållet finns tillgängligt på stackexchange, vilket vi tackar för cc by-sa 3.0-licensen som det distribueras under.
Loading...