- Memilih Alat Perkembangan Perkakasan dan Perisian
- Pembangunan STM8S103F3P6
- Pengaturcara STM8S103F3P6
- STM8S103F3P6 IDE dan Penyusun
- STM8S dengan Arduino menggunakan Sduino
- Memuat turun Perisian yang Diperlukan
- Menyiapkan STVD dan Cosmic C Compiler
- Perpustakaan Periferal Piawai untuk STM8S103F3P6
- Menyusun Program Pertama
- Memuat naik Kod dari STVD ke papan Pembangunan STM8S menggunakan ST-Link V2
The STM8 adalah satu siri Pengawal Mikro 8-bit daripada STMicroelectronics yang telah menjadi pilihan biasa mikropengawal untuk pembangunan produk kos sensitif. Saya sebelum ini bekerjasama dengan AVR, PIC, dan beberapa mikrokontroler ARM Cortex lain, tetapi pasti dalam beberapa aplikasi, mereka menjadi berlebihan dan meningkatkan kos BOM. Baru-baru ini, setelah meruntuhkan beberapa produk Cina yang murah, saya dapati kebanyakan mereka mempunyai mikrokontroler STM8 di dalamnya. IC tidak hanya murah tetapi juga dilengkapi dengan banyak ciri dan pilihan menjadikannya sesuai untuk digunakan dalam banyak aplikasi yang berbeza. Contohnya, STM8S rangkaian pengawal (yang akan kita pelajari dalam siri tutorial ini) adalah pengawal untuk tujuan umum tetapi ada siri lain seperti STM8A untuk Reka Bentuk Automotif dan STM8L untuk reka bentuk berkuasa bateri Daya Rendah yang memperluas aplikasi pengawal ini.
Dalam siri tutorial ini, kita akan belajar bagaimana memprogram mikrokontroler STM8S, lebih khusus lagi STM8S103F3P6. Sebab untuk memulakan nombor bahagian khusus ini adalah kerana harganya menjadi faktor prestasi. Suka !! lihat sahaja dengan harga 0.25 $ (kira-kira 20 Rupee) kita mendapat mikrokontroler 8-bit dengan 16Mhz Internal Oscillator, 8kB Flash, 10-bit ADC, UART, SPI, dan I2C. Siapa yang tidak akan tertarik? Juga, STM8S103F3P6 sangat popular, dan oleh itu sebagai pemula, anda akan mendapat sokongan yang mencukupi sekiranya anda memerlukan bantuan di luar tutorial. Bermula dari ini, kita akan mempunyai urutan tutorial, mirip dengan Tutorial Pengaturcaraan PIC di mana kita akan belajar bagaimana memprogram pengawal ini dari sekelip mata asas ke pelbagai paparan dan antara muka sensor. Anda juga boleh melihat Tutorial dan projek STM32F103C8 jika anda berminat dengan Pengawal Mikro STM 32-bit.
Memilih Alat Perkembangan Perkakasan dan Perisian
Sekarang setelah kita mematikan mikrokontroler, kita harus memilih alat pengembangan perkakasan dan perisian untuk memulakan proses pembelajaran kita. Terdapat banyak pilihan, di sini saya telah memilih yang bebas digunakan dan mudah didapati oleh semua orang.
Pembangunan STM8S103F3P6
Papan pengembangan rasmi untuk Mikrokontroler 8-bit ST dipanggil kit Penemuan STM8, tetapi kami akan menggunakan papan pengembangan kos rendah yang boleh anda temui dengan mudah dengan pembekal tempatan atau di kedai dalam talian. Gambar papan pengembangan STM8S103F3P6 yang akan kami gunakan dalam tutorial ini ditunjukkan di bawah.
Papan hanya terdiri daripada komponen minimum yang diperlukan untuk memulakan pembangunan. Ia mesra roti dan sesuai untuk aplikasi padat. Gambarajah litar dalaman untuk papan pengembangan ditunjukkan di bawah.
Jika dilihat lebih dekat, anda akan melihat, selain daripada pengawal STM8S103F3p6, kami mempunyai butang set semula untuk menetapkan semula pengawal. Power led dan test test disambungkan ke PB5 (Port B pin 5) dan pengatur voltan AMS1117 yang menukar 5V dari port USB ke 3.3V untuk pengawal. Pengawal juga boleh dibuat untuk beroperasi pada 5V jika diperlukan. Bahagian yang berbeza pada alat kawalan ditandakan di bawah. Kami juga mempunyai 4 pin pengaturcara iaitu 3.3V, GND, SWIM, dan NRST yang dapat digunakan untuk memprogram dan menyahpepijat mikrokontroler kami dengan mudah.
Pengaturcara STM8S103F3P6
Untuk memprogram pengawal kami, kami akan menggunakan ST-LINK v2 yang murah dan mudah didapati dalam talian. Terdapat banyak varian (logam, plastik, emas, merah jambu, papan kosong) papan ST-LINK v2 ini dan semuanya mempunyai tujuan yang sama. Milik saya ditunjukkan di bawah tetapi anda boleh menggunakan jenis programmer ST-LINK apa pun, pinoutnya akan berbeza, jadi pastikan anda membaca pinout pada casing dengan betul. Terdapat juga ST-LINK V3 dari ST-Microelectronics itu sendiri yang dapat digunakan untuk beberapa penyahpepijatan serius. Kami tidak akan menggunakannya sekarang kerana agak mahal, kami akan menyimpannya untuk masa depan.
STM8S103F3P6 IDE dan Penyusun
Memilih IDE dan Compiler yang tepat untuk STM8S103F3P6 membingungkan, hanya kerana terdapat banyak pilihan untuk dipilih. Alat rasmi yang tersedia untuk Pengawal Mikro STM8 ditunjukkan dalam gambar di bawah.
Di sisi Konfigurasi, kami memiliki STM8CubeMx, saya mencuba perisian dan ini adalah penurunan sepenuhnya bagi saya. Tidak seperti STM32Cube, STM8Cube tidak dapat menghasilkan kod secara automatik. Ia hanya dapat menghasilkan pemetaan pin untuk tujuan visualisasi dan mungkin berguna jika anda memindahkan kod anda dari satu pengawal ke pengawal yang lain. Selain daripada itu, saya tidak akan menggunakannya. Jadi dalam siri tutorial ini, kami tidak akan menggunakan ini.
Untuk IDE dan Compiler, kami mempunyai banyak pilihan untuk dipilih. Dua pilihan teratas untuk IDE adalah meja kerja IAR dan ST Visual Develop (STVD), kedua-dua perisian terasa seperti mereka dari tahun 90an tetapi setelah beberapa lama bermain dengannya, saya dapati STVD adalah pilihan yang baik hanya kerana ia benar-benar percuma. Begitu juga, untuk Compiler, kita akan menggunakan Cosmic C Compiler, sekali lagi hanya kerana percuma. Alasan lain untuk memilih IDE dan Compiler ini adalah kerana, setelah kita mengenal persekitaran, semestinya mudah menggunakan Microcontroller 8-bit lain dari ST tanpa banyak usaha. Kami akan mengetahui cara memasang dan menyiapkan STVD dengan penyusun Cosmic C kemudian dalam artikel ini.
Untuk Flashing, kita akan menggunakan ST Visual Programmer (STVP), alat ini akan dipasang secara automatik ketika kita memasang STVD. Ia akan disatukan dalam IDE itu sendiri, membantu kita memprogram dan melakukan debug dengan cepat. Perisian terakhir adalah STMStudio yang merupakan perisian Pemantauan STM8. Perisian ini dapat membantu melakukan penyahpepijatan masa nyata STM8 dan mempunyai beberapa ciri menarik seperti memantau nilai pemboleh ubah, merancang plot, dll. Saya belum cukup bereksperimen dengan perisian ini. Dan, sekurang-kurangnya untuk beberapa tutorial pertama, kami tidak akan menggunakan perisian ini kerana kami tidak memerlukan keperluan penyahpepijatan yang besar.
STM8S Standard Peripheral Library: ST Microelectronics menyediakan satu set perpustakaan untuk membuat pengembangan kod lebih mudah bagi Mikrokontroler STM8S, perpustakaan ini disebut " Standard Peripheral Library " atau SPL secara ringkas. Perpustakaan ini bagus kecuali untuk itu ditulis dengan mengingat semua kemungkinan pengawal dalam keluarga STM8S / A 8-bit dan bukan hanya pengawal STM8S103F3P6 yang akan kita gunakan. Oleh itu, kita harus membuat beberapa perubahan di sana sini untuk menjadikannya berfungsi (yang akan saya kongsikan kemudian). Tetapi masih, saya percaya patut mencubanya kerana dapat membuat pengembangan sangat cepat, dan oleh itu, kita akan menggunakannya dalam tutorial kita.
Sekiranya anda tidak mahu menggunakan perpustakaan, anda perlu mengakses Daftar Pemantau secara langsung atau melakukan pengaturcaraan pemasangan bare metal. Kedua-duanya menyeronokkan, dengan syarat anda mempunyai masa untuk mempelajarinya dan menggunakannya. Idea saya adalah untuk menggunakan perpustakaan SPL di mana sahaja ia berfungsi dengan baik dan kemudian juga berfungsi pada tahap pendaftaran dan pemasangan jika diperlukan. Mari cuba jangan mencipta roda semula!
STM8S dengan Arduino menggunakan Sduino
Membincangkan pilihan perisian tidak akan pernah lengkap sekiranya saya tidak menyebutkan STM8S sokongan Arduino IDE. Ya, papan STM8S103F3P6 yang sama dapat diprogramkan terus dari Arduino IDE menggunakan Sduino, terima kasih kepada Michael Mayer. Tetapi, projek ini masih dalam tahap pembangunan dan mungkin memerlukan sedikit masa dan sokongan masyarakat untuk Sduino memberikan sokongan platform yang lengkap. Namun, hanya dalam beberapa minit bermain dengan Sduino, saya mula menyukainya dan dengan itu memutuskan untuk juga membuat artikel berasingan mengenai cara memprogram mikrokontroler STM8S dengan Arduino. Saya akan pautkan artikel di sini apabila sudah siap. Artikel itu akan membincangkan mengapa dan mengapa tidak anda harus menggunakan Arduino IDE untuk memprogram mikrokontroler STM8S anda.
Jadi, ini adalah pilihan saya untuk Perisian dan Perkakasan, beritahu saya di bahagian komen jika anda fikir beberapa perisian lain adalah pilihan yang lebih baik dan mengapa. Saya ingin meneroka pilihan lain juga.
Memuat turun Perisian yang Diperlukan
Sekarang kita telah memutuskan perisian yang akan kita gunakan untuk tutorial ini, mari kita teruskan dan memuat turunnya menggunakan pautan berikut. Semua perisian percuma dimuat turun dan digunakan, anda hanya perlu mendaftarkan akaun percuma di ST dan Cosmic sekiranya anda belum melakukannya.
- ST Visual Develop (STVD)
- Penyusun C kosmik
- Perpustakaan Periferal Standard
- STM8Cube Mx (Pilihan)
- STMStudio untuk STM8 (Pilihan)
Menyiapkan STVD dan Cosmic C Compiler
Setelah memuat turun kedua-dua perisian, ikuti arahan di skrin untuk memasangnya. Saya akan mengesyorkan untuk meninggalkannya di direktori lalai untuk mengelakkan kekeliruan kemudian. STVD IDE akan dipasang tanpa usaha. Untuk penyusun Cosmic C, anda perlu mendapatkan kunci lesen percuma semasa proses pemasangan. Anda hanya perlu memberikan maklumat syarikat dengan ID E-mel, jika anda seorang pelajar, sebutkan sahaja. Proses mendapatkan kunci lesen adalah seketika dan automatik, walaupun arahan penyediaan mengatakan bahawa mungkin memerlukan satu atau dua hari, saya menerima kunci lesen secara automatik pada ID E-Mail saya sebaik sahaja saya menyerahkannya, pastikan anda semak SPAM. E-mel Pengesahan saya ditunjukkan di bawah.
Sesuai arahan E-mail, salin fail license.lic dan tampal di sub-folder "lesen" di folder pemasangan anda. Bagi saya jalannya adalah "C: \ Program Files (x86) COSMIC \ FSE_Compilers \ CXSTM8 \ License" . Cukup tampal fail di lokasi seperti gambar di bawah.
Perpustakaan Periferal Piawai untuk STM8S103F3P6
Seperti yang diberitahu sebelumnya, ST Microelectronics menyediakan Perpustakaan yang disebut SPL yang dapat digunakan untuk semua mikrokontroler STM8S / A 8-bit. Anda boleh memuat turun SPL asal dari ST Microelectronics dan membuat perubahan yang diperlukan atau memuat turun perpustakaan STM8S103F3P6 SPL saya dan menggunakannya seperti itu. Saya akan mengesyorkan kemudian.
SPL asal dari ST Microelectronics
STM8S103F3P6 SPL
Semasa anda berada di sana, pastikan untuk memuat turun Manual Pengguna SPL, yang akan sangat berguna semasa memprogram pengawal.
Menyusun Program Pertama
Sekarang semuanya sudah siap, mari cuba menyusun program pertama kami untuk memeriksa sama ada IDE, Compiler, dan Library semuanya berfungsi sebagaimana mestinya. Anda juga boleh melihat video di bahagian bawah halaman untuk mendapatkan arahan terperinci.
Mulailah dengan membuka STVD dan pilih File -> WorkSpace, dalam pop-up, pilih "New Workspace" dan masukkan nama Projek dan jalan di mana program harus disimpan. Saya menamakan program saya BareMinimum dan menyimpannya dalam folder di desktop. Klik OK dan anda akan mendapat kotak dialog Projek Baru seperti gambar di bawah.
Saya menamakan projek tersebut sebagai bareminimum lagi dan di bawah rantai alat kita harus menentukan akar rantai alat ke jalan di mana penyusun STM8 Cosmic dipasang. Alamat jalan lalai adalah "C: \ Program Files (x86) COSMIC \ FSE_Compilers \ CXSTM8" . Selepas itu, klik OK untuk mendapatkan tetingkap "Pemilihan MCU".
Cari STM8S103F3P dan pilih dan klik OK. Ini akan membuka projek baru untuk STM8S103F3P di STVD, tetingkap akan kelihatan seperti ini apabila selesai.
Klik kanan pada "sumber fail" dan pilih "Tambahkan fail ke folder" untuk memasukkan semua file c dari perpustakaan SPL kami, juga klik kanan pada Sertakan fail untuk memasukkan semua fail tajuk. Sekiranya anda mempunyai sebarang pertanyaan, anda boleh merujuk video di bawah. Setelah semua fail ditambahkan, klik Build -> rebuil d all dan kemudian Compile untuk memeriksa apakah penyusun dan SPL berfungsi seperti yang diharapkan. Sekiranya semuanya berjalan lancar, anda akan melihat skrin berikut dengan ralat hasil 0 dan amaran 0.
Dengan ini, sekarang kita dapat memastikan semua perpustakaan SPL kita bekerja dengan penyusun Cosmic dan STVD. Ini adalah prosedur standard yang akan kami ikuti untuk setiap projek baru. Anda juga boleh memasukkan hanya tajuk dan fail sumber yang diperlukan untuk projek untuk mengurangkan masa pembinaan jika diperlukan.
Memuat naik Kod dari STVD ke papan Pembangunan STM8S menggunakan ST-Link V2
Sambungkan ST-Link V2 dengan papan pengembangan seperti gambar di bawah.
Sambungannya agak lurus ke hadapan dan bahagian terbaiknya ialah anda tidak memerlukan komponen luaran. Persediaan perkakasan saya untuk pengaturcaraan ditunjukkan di bawah, saya baru sahaja menggunakan wayar header wanita untuk membuat sambungan saya. Namun, perhatikan bahawa pinout dari ST-Link anda mungkin berbeza dari saya, pastikan untuk mengikuti pinout pada peranti sebelum membuat sambungan.
Buat sambungan dan sambungkan peranti ke komputer anda, pemasangan pemacu akan bermula secara automatik. Anda boleh menggunakan pengurus peranti untuk memastikan jika komputer anda telah menemui ST-LINK V2 dengan betul. Anda juga akan melihat LED ujian di papan berkedip jika ini adalah kali pertama menghidupkan papan. Sebaik sahaja kami berjaya menyusun kod di STVD, kami akan mendapatkan fail Sention "S19" di bawah direktori debug folder projek. Fail S19 saya ditunjukkan di bawah.
S19 ini seperti fail Hex yang harus dimuat naik ke pengawal. Untuk memuat naik program, buka ST Visual Programmer (STVP) yang seharusnya dipasang bersama dengan STVD. Kemudian pada tetingkap konfigurasi, pilih seperti yang ditunjukkan pada gambar di bawah dan klik OK.
Kemudian klik pada File-> Buka dan arahkan ke fail S19 yang kami tunjukkan sebelumnya. Kemudian untuk menyalakan peranti, ikuti Program -> Tab Semasa . Sekiranya flashing berjaya, anda akan melihat output berikut.
Secara lalai, apabila anda membeli STM8S, ia akan mempunyai program blin yang berkelip LED ujian. Kini setelah memuat naik kod kosong ini, LED tidak akan berkelip lagi.
Penting: Saya mendapati bahawa ST-Link saya tidak menetapkan semula papan secara automatik selepas pengaturcaraan. Saya terpaksa memutuskan dan menyambungkannya semula untuk memeriksa output program saya. Saya tidak pasti jika ini adalah masalah bagi semua orang, beritahu saya di bahagian komen. Juga, lihat video di bahagian bawah yang menerangkan penyelesaiannya.
Dengan ini, mari kita selesaikan tutorial ini, kita telah mempelajari asas-asas perkakasan, telah mengatur persekitaran pengembangan dan belajar bagaimana menyusun dan memuat naik kod. Kami sekarang sudah bersedia untuk maju dan kami akan menggunakannya dalam semua tutorial yang akan datang. Sekiranya anda mempunyai sebarang pertanyaan, sila hantarkannya di forum kami dan nantikan lebih banyak lagi !!