Peringatan, penjelasan panjang lebar akan datang. Saya ingin menghapus beberapa kesalahpahaman yang saya pikir Anda alami.
Arduino sebenarnya adalah dua hal.
- Kumpulan perpustakaan C / C ++ yang dikompilasi dengan avr-gcc dan
- Program firmware bootloader kecil yang sebelumnya diprogram ke dalam chip dari pabrik.
Ya, IDE Arduino pada dasarnya membungkus avr-gcc - kompiler AVR C. Proyek Anda, atau "sketsa", menggabungkan perpustakaan Arduino yang disebutkan dan dikompilasi dengan avr-gcc. Namun, semua ini tidak ada hubungannya dengan bagaimana sesuatu ditulis ke papan tulis. Bagaimana sketsa ini digunakan sedikit berbeda dari biasanya.
Arduino IDE berkomunikasi dengan Arduino Anda melalui chip usb-to-serial di papan dan menginisialisasi mode pemrograman yang dimengerti oleh bootloader dan mengirimkan program baru Anda ke chip di mana bootloader akan meletakkannya di beberapa lokasi yang diketahui dan kemudian menjalankannya . Tidak ada "perpustakaan avr yang melakukan penulisan sebenarnya" - itu hanya Arduino IDE yang membuka port serial dan berbicara dengan bootloader - ini adalah bagaimana pesan debug Anda dicetak ke IDE selama runtime juga.
Setiap IDE alternatif harus dapat melakukan komunikasi serial yang sama dengan bootloader ini. Arduino mudah karena semua perpustakaan yang telah mereka sediakan untuk Anda dan program sekali-sentuh-lari dari IDE. Sejujurnya saya tidak berpikir itu menjadi lebih mudah, atau lebih ramah pengguna. Mereka telah mengabstraksikan semua detail mikrokontroler AVR dan proses pembangunan / penggunaan.
Alternatifnya adalah avr-studio (yang juga menggunakan avr-gcc untuk kompilernya) dan seorang programmer ICSP (yang merupakan perangkat keras tambahan yang harus Anda beli). Anda tidak diberi banyak selain beberapa file header definisi register dan beberapa makro berguna. Anda juga tidak diberi bootloader apa pun pada chip AVR Anda, itu hanya kertas kosong. Apa pun yang ingin Anda lakukan dengan mikrokontroler, Anda harus mendalam dan mempelajari periferal dan register perangkat kerasnya dan memindahkan byte ke dalam C. Ingin mencetak pesan debug kembali ke PC? Tuliskan rutin UART untuk dicetak () terlebih dahulu dan buka terminal di komputer Anda.
Selangkah lebih rendah dari ini Anda sedang menulis kode dalam editor teks dan memanggil avr-gcc dan avr-dude (alat baris perintah pemrograman) dari Makefile atau baris perintah.
Satu langkah lebih rendah dari itu dan Anda menulis majelis dalam editor teks dan memanggil avr-assembler dan avr-dude.
Saya tidak yakin ke mana saya akan pergi dengan ini, saya hanya berpikir bahwa IDE dan Arduino yang ada benar-benar jenius dan sempurna untuk pemula - klaim mereka atas ketenaran adalah ramah pengguna. Mungkin bukan jawaban yang Anda cari, pelajari alur kerjanya dan buat sesuatu yang keren dengannya.