Bisakah saya memprogram Arduino saya menggunakan bahasa pemrograman selain C ++? Jika demikian, bahasa pemrograman mana? Perangkat lunak apa yang saya perlukan untuk mengkompilasi dan memuat kode saya ke Arduino?
programming
software
tstew
sumber
sumber
Jawaban:
Beberapa yang umum dikenal:
Secara teori Anda harus dapat memperluas avr-gcc untuk mendukung bahasa lain, meskipun ini bukan usaha kecil. Saya juga harus memperingatkan bahwa dukungan untuk bahasa selain C biasanya datang dengan beberapa pembatasan yang cukup berat pada komponen bahasa - misalnya, bahkan dengan C ++ itu tidak disarankan untuk menjadi instantiasi objek baru karena
malloc
danfree
sangat mahal dalam ruang memori dan siklus.Selain menggunakan Google, referensi berikut berlaku Klik Di Sini.
sumber
Secara teori, setiap kompiler yang mengeluarkan perakitan AVR dapat digunakan (batasan modulo pada ukuran kode, penggunaan ram dll).
Backend AVR ada untuk LLVM dan GCC - jadi dalam teori, dengan beberapa upaya, sebagian besar bahasa yang didukung oleh LLVM dan front-end GCC dapat dikompilasi ke AVR. Pertanyaan besar adalah dukungan perpustakaan, dll.
Namun demikian, berikut adalah beberapa pilihan aneh untuk semangat pertanyaan, daripada suratnya [1].
Oh, dan Anda bisa menulis Majelis AVR mentah !
[1] - Namun saya belum mencobanya!
sumber
Ada juga beberapa orang yang bekerja pada sistem berbasis Javascript node.js. Salah satu yang sudah tersedia untuk umum adalah Espruino dan lainnya adalah Tessel yang diluncurkan pada musim semi 2014.
sumber
Karena avr-g ++ harus mendukung semua konstruksi C / C ++ standar, dimungkinkan untuk membuat kode inline assembly. Info lebih lanjut tentang utas forum arduino.cc ini
sumber
Saya terkejut bahwa tidak ada yang menyebutkan AVR Assembly !
Assembly tidak sering dianggap sebagai metode pemrograman yang paling menarik, atau bahkan mudah, tetapi tetap saja, 100% dimungkinkan dengan semua arduino berbasis AVR. Papan SAM kemungkinan tidak akan bekerja dengan citarasa ini, tetapi masih mungkin untuk menggunakan rakitan dalam pemrograman mereka.
Semua papan Arduino (per posting) mendukung pemrograman perakitan melalui Atmel Studio , SDK dibuat untuk chip berbasis Atmel.
Assembly didukung secara penuh oleh semua perangkat Atmel, dan tidak memerlukan boot loader untuk bekerja, sehingga semua program secara inheren real-time.
sumber
__asm__("Assembly code here")
bekerja untuk menambahkan perakitan in-line ke sketsa apa pun. Namun untuk sebagian besar program, ini adalah ide yang buruk, karena sulit untuk mencapai independensi platform dengan metode ini.