- Menyiapkan Arduino IDE
- Menyiapkan board STM8S103F3 untuk Arduino IDE Programming
- LED Blinking pada STM8S103F3 menggunakan Arduino
- Pemetaan Pin Arduino untuk STM8S103F3
- Mengompilasi Perpustakaan SPL di Arduino IDE
Arduino tidak diragukan lagi telah tumbuh menjadi alat prototipe yang ramah pengguna dan cepat, berkat komunitas penggunanya yang mendukung. Saat ini, karena sifatnya yang open-source, platform tidak hanya terbatas pada papan Arduino tetapi juga pada papan pengembangan lain seperti NodeMCU, ESP8266, STM32, MSP430, dll. Juga dapat diprogram dari Arduino IDE. Jika Anda tertarik untuk mengetahui caranya, Anda dapat mengikuti tautan di bawah ini.
- Pemrograman NodeMCU dengan Arduino IDE
- Pemrograman ESP8266 dengan Arduino IDE
- Pemrograman STM32 dengan Arduino IDE
- Pemrograman MSP430 dengan Energeia (mirip dengan Arduino)
Tanpa ragu, Arduino IDE sangat bagus untuk pemula, tetapi tetap saja, untuk pengembangan profesional, bagus untuk bekerja dengan kompiler dan lingkungan pengembangan asli. Seperti MPLABX untuk Mikrokontroler PIC dan studio Komposer Kode untuk Mikrokontroler TI. Menggunakan platform asli memungkinkan kita untuk bekerja pada tingkat register (bahkan tingkat perakitan jika diperlukan) memungkinkan program menjadi lebih efektif dengan memori. Inilah mengapa saat kita memulai tutorial Mikrokontroler STM8Sseri, pilihan platformnya adalah STVD dan kompiler Cosmic C, keduanya gratis untuk diunduh dan digunakan. Sayangnya, STVD adalah IDE yang sangat tua dan terasa seperti 90-an saat bekerja dengannya. Selain itu, alat pemrogram STVP juga tidak terintegrasi dengan baik dengan IDE dan Anda harus menggunakannya secara terpisah. Hal ini meningkatkan waktu kompilasi dan pengunggahan serta mempersulit pengembangan dan debugging.
Saya pergi mencari alternatif dan saat itulah Arduino IDE datang untuk menyelamatkan. Alat yang disebut Sduino oleh Michael Mayor memungkinkan kita untuk dengan mudah memprogram Mikrokontroler STM8 (sebagian besar yang populer) dari Arduino IDE secara langsung dan hanya perlu beberapa menit untuk menyiapkan dan memulai. Yang lebih menarik adalah selain mendukung pemograman ala Arduino, Sduino juga memungkinkan kita untuk menggunakan Standard Peripheral Library (SPL), dengan kata lain kita hampir bisa mengkompilasi program yang sama di STVD ke dalam Arduino IDE. Meskipun Sduino adalah alat yang keren, ini masih dalam pengembangan dan belum mendukung banyak pustaka dan fungsi Arduino. Karena itu, mari pelajari cara menggunakan Arduino IDE dengan Papan Pengembangan STM8S103F.Jika Anda benar-benar baru mengenal papan ini, maka periksa untuk memulai dengan tutorial STM8S103F. Selain STM8S103F, Sduino juga mendukung mikrokontroler STM8S lainnya seperti STM8S003, STM8S105C, STM8S105K, STM8S, STM8S208MB, ESP14, dll. Prosedur yang dijelaskan dalam tutorial ini sama untuk semua.
Menyiapkan Arduino IDE
Langkah 1: Jika Anda benar-benar baru di Lingkungan Arduino, Unduh Arduino berdasarkan sistem operasi Anda dan instal.
Langkah 2: Ikuti File -> Preferensi untuk membuka jendela preferensi dan tempel tautan yang diberikan di bawah ini ke dalam kotak teks URL kelola papan tambahan dan klik OK.
github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json
Langkah 3: Ikuti Tools -> Board -> Board manager untuk membuka kotak dialog board manager dan mencari "sduino". Klik instal dan tutup kotak dialog setelah penginstalan selesai.
Langkah 4: Mulai ulang IDE lalu ikuti Tools -> Board -> STM8S103F3 . Anda dapat memilih papan lain jika Anda memiliki papan pengembangan yang berbeda.
Sekarang Arduino IDE siap untuk memprogram Papan Pengembangan STM8S103F3. Mari kita atur papan, hubungkan ke komputer, dan program untuk kedipan LED sederhana.
Menyiapkan board STM8S103F3 untuk Arduino IDE Programming
Hubungkan ST-Link V2 dengan papan pengembangan seperti yang ditunjukkan di bawah ini.
Sambungannya cukup mudah dan bagian terbaiknya adalah Anda tidak memerlukan komponen eksternal. Pengaturan perangkat keras saya untuk pemrograman ditunjukkan di bawah ini, saya baru saja menggunakan kabel header wanita untuk membuat koneksi saya. Namun, perhatikan bahwa pinout ST-Link Anda mungkin berbeda dengan pinout saya, pastikan untuk mengikuti pinout pada perangkat sebelum membuat koneksi.
Buat koneksi dan hubungkan perangkat ke komputer Anda, penginstalan driver akan dimulai secara otomatis. Anda dapat menggunakan pengelola perangkat untuk memastikan apakah komputer Anda telah menemukan ST-LINK V2 dengan benar. Anda juga akan melihat LED tes di papan berkedip jika ini adalah pertama kalinya menyalakan papan.
LED Blinking pada STM8S103F3 menggunakan Arduino
Nah untuk blinking led sederhana, kita bisa menggunakan program blink dari bagian contoh. Ikuti File -> Contoh -> Generic_Example -> Basics -> Blink .
Program lengkap untuk mengedipkan led onboard ditunjukkan di bawah ini-
void setup () {// inisialisasi pin digital LED_BUILTIN sebagai keluaran. pinMode (LED_BUILTIN, OUTPUT); } // fungsi loop berjalan berulang kali selamanya void loop () {digitalWrite (LED_BUILTIN, HIGH); // nyalakan LED pada penundaan (TINGGI adalah level voltase) (1000); // tunggu digitalWrite kedua (LED_BUILTIN, LOW); // matikan LED dengan membuat penundaan tegangan LOW (1000); // tunggu sebentar}
Seperti yang Anda lihat, ini sangat mirip dengan program blink Arduino. Untuk mengunggah program, pastikan papan Anda terhubung melalui st-link v2 seperti yang dibahas di atas dan pilih pemrogram sebagai "ST-Link / V2" seperti yang ditunjukkan di bawah ini.
Catatan: Tidak seperti papan Arduino, Anda tidak harus memilih port COM yang tepat untuk memprogram papan. Anda akan menggunakan port COM hanya untuk komunikasi serial.
Setelah port COM dipilih, mengunggah kode juga sangat mudah. Cukup tekan tombol unggah (dilingkari merah di bawah) dan kode akan dikompilasi dan diunggah ke papan kami secara otomatis.
Itu saja, program diunggah langsung ke papan dan Anda akan melihat LED on-board berkedip. Tidak ada perangkat lunak pengunggah eksternal, tidak ada apa-apa. Semudah itu. Anda dapat melihat video di bagian bawah halaman ini untuk pengerjaannya.
Pemetaan Pin Arduino untuk STM8S103F3
Jika Anda ingin melanjutkan dari sini, Anda perlu mengetahui cara menangani setiap pin di papan Pengembangan STM8S103F3. Pemetaan pin dapat dipahami dari gambar di bawah ini-
Misalnya dari diagram sirkuit Board STM8S103F3, kita tahu bahwa LED on-board terhubung ke PB5. Untuk mengatasi pin ini di Arduino, kita harus menggunakan 3, maka program dapat ditulis sebagai-
void setup () {// inisialisasi pin digital LED_BUILTIN sebagai keluaran. pinMode (3, OUTPUT); } // fungsi loop berjalan berulang kali selamanya void loop () {digitalWrite (3, LOW); // nyalakan LED pada penundaan (TINGGI adalah level voltase) (1000); // tunggu digitalWrite (3, HIGH) kedua; // matikan LED dengan membuat penundaan tegangan LOW (1000); // tunggu sebentar}
Mengompilasi Perpustakaan SPL di Arduino IDE
Seperti yang disebutkan sebelumnya, kami juga dapat menggunakan pustaka SPL di Arduino IDE. Jika Anda ingat, di tutorial GPIO STM8S kami sebelumnya, kami menulis kode untuk mengedipkan LED on-board dan juga LED eksternal menggunakan tombol push. Kode yang sama dengan sedikit modifikasi juga dapat dikompilasi di Arduino. Kode yang dimodifikasi ditunjukkan di bawah ini.
#define Green_LED GPIOA, GPIO_PIN_3 batal penyiapan () {GPIO_DeInit (GPIOA); // siapkan Port A untuk menjalankan GPIO_DeInit (GPIOB); // siapkan Port B untuk bekerja // Deklarasikan PA2 sebagai input pull up pin GPIO_Init (GPIOA, GPIO_PIN_2, GPIO_MODE_IN_PU_IT); // Deklarasikan PA3 sebagai pin Push Pull Output GPIO_Init (Green_LED, GPIO_MODE_OUT_PP_LOW_SLOW); // Deklarasikan PB5 sebagai push pull Pin keluaran GPIO_Init (GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_PP_LOW_SLOW); } void loop () {if (GPIO_ReadInputPin (GPIOA, GPIO_PIN_2)) // jika tombol ditekan GPIO_WriteLow (Green_LED); // LED ON lain GPIO_WriteHigh (Green_LED); // LED MATI GPIO_WriteReverse (GPIOB, GPIO_PIN_5); penundaan (100); }
Untuk menyimpulkan Arduino IDE bersama dengan Sduino adalah pilihan yang sangat bagus jika Anda ingin memulai pengembangan Anda dengan STM8S. Namun, platform ini masih dalam pengembangan dan banyak pustaka Arduino belum didukung. Namun, jika Anda ingin menggali lebih dalam dan berkontribusi pada pembangunan, itu akan bagus. Tapi, demi pembelajaran, saya akan melanjutkan seri tutorial dengan STVD dan compiler cosmic C.