Czy mogę zaprogramować swoje Arduino przy użyciu dowolnego języka programowania innego niż C ++? Jeśli tak, to jakie języki programowania? Jakiego oprogramowania potrzebuję do kompilacji i ładowania mojego kodu na Arduino?
programming
software
tstew
źródło
źródło
Odpowiedzi:
Niektóre powszechnie znane:
Teoretycznie powinieneś być w stanie rozszerzyć avr-gcc o obsługę innych języków, chociaż nie jest to małe przedsięwzięcie. Powinienem również zastrzeżenie, że wsparcie dla języków innych niż C zazwyczaj jest wyposażony w kilka dość ciężkich ograniczeń dotyczących elementów języka - na przykład nawet z C ++ to zniechęcać do uruchamianiu nowych obiektów jak
malloc
ifree
są bardzo kosztowne zarówno w przestrzeni pamięci i cykli.Oprócz korzystania z Google obowiązują następujące odniesienia. Kliknij tutaj.
źródło
Teoretycznie można użyć dowolnego kompilatora, który generuje zestaw AVR (ograniczenia modulo dotyczące wielkości kodu, użycia pamięci RAM itp.).
Backendy AVR istnieją zarówno dla LLVM, jak i GCC - więc teoretycznie, przy pewnym wysiłku, większość języków obsługiwanych przez LLVM i interfejsy GCC można skompilować do AVR. Dużym pytaniem będzie obsługa bibliotek itp.
Niemniej jednak, oto kilka dziwnych wyborów dla ducha pytania, a nie jego litery [1].
Aha, i mógłbyś napisać surowe Zgromadzenie AVR !
[1] - Nie próbowałem tego jednak!
źródło
Są też osoby pracujące na systemach opartych na Javascript node.js. Jednym z publicznie dostępnych jest Espruino, a innym jest Tessel, który pojawi się wiosną 2014 roku.
źródło
Ponieważ avr-g ++ powinien obsługiwać wszystkie standardowe konstrukcje C / C ++, możliwe jest kodowanie wbudowanego zestawu. Więcej informacji w tym wątku na forum arduino.cc
źródło
Dziwi mnie, że nikt nie wspominał o Zgromadzeniu AVR !
Montaż często nie jest uważany za najciekawszą, a nawet łatwą metodę programowania, ale mimo to jest w 100% możliwy z arduino opartym na AVR. Płyty SAM prawdopodobnie nie będą działać z tym smakiem, ale nadal można używać asemblera w ich programowaniu.
Wszystkie płyty Arduino (od momentu wysłania) obsługują programowanie asemblera za pośrednictwem Atmel Studio , SDK dla układów opartych na Atmel.
Asemblowanie jest naiwnie obsługiwane przez wszystkie urządzenia Atmel i nie wymaga modułu ładującego, aby działało, więc wszystkie programy są z natury rzeczy w czasie rzeczywistym.
źródło
__asm__("Assembly code here")
pracuje nad dodaniem złożenia liniowego do dowolnego szkicu. W przypadku większości programów jest to zły pomysł, ponieważ przy pomocy tej metody trudno jest osiągnąć niezależność platformy.