Baiklah, untuk percobaan, saya buka berkas baru dengan tampilan seperti gambar 1. Tampak awal dari diagram alir dan daftar pin dari mikrokontroler AVR ATmega32 yang saya gunakan sebagai contoh kali ini.
Gambar 1
Selanjutnya, singkat cerita saya buat sebuah diagram alir yang intinya menghidupan dan mematikan LED pada PORTA secara bergantian dengan selang 500 milidetik atau 0,5 setik (Gambar 2). Hasilnya LED akan berkedip-kedip dengan tundaan 500 milidetik (tampilan simulasi pada Gambar 3).
Gambar 2
Gambar 3
Justru yang saya ulas disini adalah hasil kompilasi yang aneh atau barangkali unik atau barangkali itulah ciri khas dari Flowcode AVR? Sebagaimana ditunjukkan pada Gambar 4 dan Gambar 5 (klik pada gambar untuk memperjelas atau memperbesar agar bisa jelas).
Gambar 4
Pada Gambar 4 keunikan terjadi karena inisialisasi PORTA yang seharusnya cukup sekali saja dilakukan justru dilakukan pada tiap instruksi untuk mengirimkan nilai 0 (LED mati semua) dan 255 (LED hidup semua), perhatikan tanda panah pada Gambar 4. Mengapa tidak sekali saja yach? Mungkin untuk jaga-jaga kali yaaa…??
Gambar 5
Pada Gambar 5 terjadi pengulangan instruksi yang sama persis (lihat tanda panah), kenapa tidak dibuat subrutin-nya skalian yach??
Kesimpulannya:
- Enakan pake ASM atau Native C langsung untuk membuat program mikrokontroler AVR, agar kita bisa langsung menulis kode-kode secara efisien dan efektif. Bagaimana dengan BASCOM AVR? Boleh-boleh saja, cuman tetap harus hati-hati…
- Semoga bermanfaat.