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?
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?
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
dan free
sangat mahal dalam ruang memori dan siklus.
Selain menggunakan Google, referensi berikut berlaku Klik Di Sini.
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!
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
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.
__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.