Otázka:
Jiné možnosti programování než C ++
tstew
2014-02-13 08:53:08 UTC
view on stackexchange narkive permalink

Mohu programovat své Arduino pomocí jiného programovacího jazyka než C ++? Pokud ano, jaké programovací jazyky? Jaký software bych potřeboval pro kompilaci a načtení mého kódu do Arduina?

Související: http://arduino.stackexchange.com/questions/105/programming-an-arduino-using-python-rather-than-c-c
Bohužel se jedná o efektivní duplikát otázky jiné než Arduino.SE: [viz zde] (http://electronics.stackexchange.com/q/67160/17375) Myslím, že otázka, na kterou jsem odkazoval, by sem měla být přesunuta po skončení beta verze , ale zatím ne.
@anorton Tato otázka se ptá na alternativní IDE. Tato otázka není duplikát, protože hovoří o alternativních programovacích jazycích.
@user2202326 Omlouvám se ... Zdálo se mi, že si vzpomínám na více lidí, kteří v tomto vlákně reagují jinými jazyky než IDE, ale očividně jsem se mýlil. Pokračovat.
Pokud jste obeznámeni s C #, můžete se podívat do Netduino (Visual Studio je způsob, jak jít, ale existují i ​​jiné způsoby, jak kompilovat C # kód). Nevím, jakou desku máte a jestli je kompatibilní. http://netduino.com/
Pět odpovědi:
Matthew G.
2014-02-13 09:56:05 UTC
view on stackexchange narkive permalink

Teoreticky lze použít jakýkoli kompilátor, který vydává sestavu AVR (modulo omezení velikosti kódu, využití RAM atd.).

AVR backendy existují jak pro LLVM, tak pro GCC - takže teoreticky, s určitým úsilím, většina jazyků, které jsou podporovány LLVM a frontou GCC - konce lze zkompilovat do AVR. Velkou otázkou bude podpora knihoven atd.

Nicméně, zde je několik zvláštních možností pro ducha otázky, spíše než pro její písmeno [1].

No, můžete napsat syrové AVR Assembly!

[1] - Tyto jsem však nezkoušel!

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

Některé běžně známé:

Teoreticky byste měli být schopni rozšířit avr-gcc o podporu dalších jazyků, i když to není malý úkol. Měl bych také upozornit, že podpora jiných jazyků než C obvykle přichází s některými poměrně závažnými omezeními jazykových komponent - například i v C ++ se nedoporučuje vytvářet instance nových objektů jako malloc a zdarma jsou extrémně drahé jak v paměťovém prostoru, tak v cyklech.

Kromě používání Google jsou použitelné následující odkazy Klikněte zde.

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

Někteří lidé také pracují na systémech založených na Javascript node.js. Jeden, který je již veřejně dostupný, je Espruino a druhý je Tessel, který bude spuštěn na jaře 2014.

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

Protože avr-g ++ by měl podporovat všechny standardní konstrukce C / C ++, je možné kódovat vložené sestavení. Další informace o tomto vlákně fóra arduino.cc

Vložené sestavení není součástí standardů C / C ++, ale gcc a kompilátor Microsoft c jej podporují, i když nekompatibilně.
true, a stejně tak i avr_gcc.
Nic stejně nepřekoná zápis spustitelného kódu v hexadecimálním formátu.
tuskiomi
2019-06-13 20:27:23 UTC
view on stackexchange narkive permalink

Překvapuje mě, že nikdo nezmínil AVR Assembly!

Assembly se často nepovažuje za nejzajímavější nebo dokonce snadnou metodu programování, ale přesto je to , 100% možné se všemi arduino založenými na AVR. Desky SAM pravděpodobně nebudou s touto variantou fungovat, ale stále je možné při jejich programování použít sestavení.

Všechny desky Arduino (od zveřejnění) podporují programování sestavování prostřednictvím Atmel Studio, Sada SDK vytvořená pro čipy založené na platformě Atmel.

Sestava je naivně podporována všemi zařízeními Atmel a ke své činnosti nevyžaduje žádný zavaděč, takže všechny programy jsou neodmyslitelně v reálném čase.

Všimněte si, že sestavení je také podporováno řetězcem nástrojů gcc, který je součástí instalace Arduino IDE.
@EdgarBonet Correct, což je důvod, proč funkce „__asm ​​__ („ kód sestavy zde “)` funguje tak, že do libovolného náčrtu přidá přímou sestavu. Pro většinu programů je to však špatný nápad, protože je obtížné dosáhnout nezávislosti na platformě pomocí této metody.


Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...