- Memilih dan Memuat turun Platform Pembangunan yang Diperlukan untuk Papan Nucleo64
- Diagram Litar dan persediaan Perkakasan
- Bermula dengan STM32CubeMX untuk Lembaga Pembangunan STM32 Nucleo64
- Memprogram STM32 Nucleo64 Lembaga Pembangunan menggunakan TrueSTUDIO
- Program STM32 Nucleo64 untuk Mengawal LED menggunakan Tombol Tekan
- Menyahpepijat dan Memuat Naik Kod ke Lembaga Pembangunan STM32 Necleo64 menggunakan TrueSTUDIO
Ramai di antara kita semestinya biasa dengan mikrokontroler dan papan pengembangan yang terkenal seperti Arduino, Raspberry Pi, ESP8266, NoduMCU, 8051, dan lain-lain. Sebenarnya, bagi kebanyakan orang, Arduino adalah papan pengembangan pertama mereka, tetapi ketika kita menggali dan memulakan reka bentuk profesional, kami akan segera menyedari batasan Arduino (seperti kos, fleksibiliti, kestabilan, kelajuan, dll.) dan memahami keperluan untuk beralih ke platform Mikrokontroler yang lebih asli seperti PIC, STM, Renesas, dll.
Kami telah membahas urutan tutorial Mikrokontroler PIC, yang membimbing pemula untuk mempelajari mikrokontroler PIC. Begitu juga, bermula dengan artikel ini, kami juga akan merancang urutan Tutorial Lembaga Pembangunan STM32 Nucleo64 yang dapat membantu pemula mutlak untuk belajar dan berkembang menggunakan Platform STM32. Lembaga Pembangunan Nucleo64 adalah platform yang murah dan mudah digunakan untuk pemaju profesional dan juga untuk penggemar hobi. Sekiranya anda benar-benar baru menggunakan Lembaga Pembangunan STM32 Nucleo64, lihat video Ulasan Nucleo64 ini untuk memahami asas-asas papan ini sebelum anda meneruskannya lebih jauh. Video tersebut juga menunjukkan cara memprogram STM32 menggunakan ARM Mbed Platform tetapi untuk tutorial ini, kami akan menggunakan platform percuma untuk digunakan dari ST Microelectronics yang disebut TrueSTUDIO.
Catatan: Terdapat banyak versi Papan Pembangunan STM32 Nucleo64, papan tertentu yang digunakan dalam tutorial ini adalah NUCLEO-F030R8. Kami memilih papan ini kerana kosnya rendah. Walaupun, jika anda mempunyai versi yang berbeza, kebanyakan perkara yang dibincangkan dalam tutorial akan mencukupi untuk anda memulakannya.
Memilih dan Memuat turun Platform Pembangunan yang Diperlukan untuk Papan Nucleo64
Untuk memulakan mikrokontroler mana pun, memerlukan IDE pengaturcaraan seperti kita mempunyai Arduino IDE untuk papan Arduino, Atmel Studio untuk mikrokontroler AVR, MP Lab untuk PIC, dan lain-lain. Jadi di sini kita juga memerlukan IDE untuk Papan STM32 Nucleo64 kami untuk melakukan pengaturcaraan dan debug. Keluarga STM32 terdiri daripada Pengawal Mikro 32-bit yang menyokong IDE dan rantai alat berikut:
- IAR Embedded Workbench® untuk ARM® (EWARM).
- MDK-ARM Keil
- TrueSTUDIO
- Workbench Sistem untuk STM32
Di sini untuk tutorial kami, TrueSTUDIO akan digunakan untuk menulis, menyusun, dan menyahpepijat kod kerana percuma untuk memuat turun dan menggunakan walaupun untuk projek komersial tanpa syarat lesen. Kemudian STM32CubeMX akan digunakan untuk menghasilkan pemacu periferal untuk papan STM32 untuk memudahkan pengaturcaraan. Untuk memuat naik program kami (fail hex) ke papan pengembangan kami, orang biasanya menggunakan alat STM32 ST-LINK Utility, tetapi sebaliknya, kami akan menggunakan TrueSTUDIO sendiri untuk melakukan ini. TrueSTUDIO mempunyai mod debug yang membolehkan pengaturcara memuat naik fail hex terus ke papan STM32. Kedua-dua TrueSTUIO dan STM32CubeMX mudah dimuat turun, ikuti sahaja pautan di bawah, daftar dan muat turun persediaan. Kemudian pasangkannya di Laptop anda.
- Muat turun STM32Cube MX
- Muat turun TrueSTUDIO
Diagram Litar dan persediaan Perkakasan
Sebelum kita meneruskan bahagian perisian dan pengekodan, mari siapkan papan kami untuk projek ini. Seperti disebutkan sebelumnya dalam artikel ini, kita akan mengendalikan LED menggunakan tombol tekan. Sekarang, jika anda melihat video yang dipautkan di atas, anda semestinya sudah tahu bahawa Lembaga Pembangunan STM32 anda mempunyai dua set pin penyambung di kedua-dua sisi yang disebut pin ST Morpho. Kami telah menyambungkan butang tekan dan LED ke pin ini seperti yang ditunjukkan dalam rajah litar di bawah.
Sambungan litar mudah untuk projek ini, kita perlu menyambungkan LED di PA5 PORTA dan suis di PC13 PORTC berkenaan dengan GND. Setelah sambungan dibuat, set ujian saya kelihatan seperti ini.
Sebagai alternatif, kita juga boleh menggunakan LED dan butang tekan dalaman di papan. LED dan butang tekan dalaman ini juga disambungkan pada pin yang sama seperti yang ditunjukkan dalam rajah litar. Kami telah menambahkan komponen luaran hanya untuk latihan. Gambarajah pin di bawah Lembaga Pembangunan STM32 akan berguna untuk mengetahui di mana setiap pin morpho disambungkan ke kapal.
Bermula dengan STM32CubeMX untuk Lembaga Pembangunan STM32 Nucleo64
Langkah 1: Selepas pemasangan, lancarkan STM32CubeMX, kemudian pilih pemilih papan akses untuk memilih papan STM32.
Langkah 2: Sekarang cari papan dengan nama papan STM32 anda seperti NUCLEO-F030R8 dan klik pada papan yang ditunjukkan dalam gambar. Sekiranya anda mempunyai papan carian yang berbeza untuk nama masing-masing. Perisian ini akan menyokong semua papan pengembangan STM32 dari ST Microelectronics.
Langkah 3: Sekarang klik ya seperti yang ditunjukkan pada gambar di bawah, untuk memulakan semua periferal dalam mod lalai mereka. Kami kemudian boleh mengubah yang diperlukan seperti yang diperlukan oleh projek kami.
Setelah mengklik 'Ya', layar akan serupa dengan gambar di bawah dan pin warna hijau yang menunjukkan bahawa mereka dimulakan secara lalai.
Langkah 4: Sekarang pengguna boleh memilih tetapan yang diinginkan dari kategori. Di sini dalam tutorial ini, kita akan menukar LED menggunakan butang tekan. Oleh itu, kita perlu menjadikan pin LED sebagai output dan pin suis sebagai INPUT.
Anda boleh memilih pin apa pun, tetapi saya memilih PA5 dan mengubah keadaannya menjadi GPIO_Output untuk menjadikannya berfungsi sebagai pin output seperti yang ditunjukkan pada gambar di bawah.
Begitu juga, saya memilih PC13 sebagai GPIO_Input supaya saya dapat membaca status butang tekan saya.
Sebagai alternatif, kami juga boleh membuat pin konfigurasi dari pin pin dan konfigurasi seperti yang ditunjukkan di bawah.
Langkah 5: Pada langkah seterusnya, pengguna dapat menetapkan frekuensi yang diinginkan untuk mikrokontroler dan pin mengikut pengayun luaran dan dalaman. Secara lalai, pengayun kristal 8 MHz dalaman dipilih dan dengan menggunakan PLL, 8 ini akan ditukar menjadi 48MHz. Maksudnya secara lalai papan STM32 atau mikrokontroler dan Pin akan berfungsi pada 48MHz.
Langkah 6: Sekarang pindah ke pengurus projek dan berikan nama untuk projek anda, lokasi projek, dan pilih rantai alat atau IDE. Di sini kita menggunakan TrueSTUDIO, jadi saya telah memilih yang sama seperti yang ditunjukkan di bawah.
Langkah 7: Sekarang klik pada tanda Hasilkan Kod oleh bulatan merah pada gambar di bawah.
Langkah 8: Sekarang anda akan melihat pop timbul seperti yang diberikan kemudian klik pada projek terbuka. Tetapi, pastikan anda telah memasang TrueSTUDIO sebelum langkah ini.
Memprogram STM32 Nucleo64 Lembaga Pembangunan menggunakan TrueSTUDIO
Sekarang kod atau projek anda akan terbuka di TrueSTUDIO secara automatik jika TrueSTUDIO meminta lokasi ruang kerja kemudian berikan lokasi ruang kerja atau pergi dengan lokasi lalai.
Pengguna akan melihat skrin yang diberikan di bawah dan kemudian perlu mengklik tanda sudut dengan warna merah.
Dan sekarang kita dapat melihat kod di TreuSTUDIO IDE kami. Di sebelah kiri di bawah folder 'src' kita dapat melihat fail program lain (dengan pelanjutan.c) yang telah dihasilkan untuk kita dari STM32Cube. Kita hanya perlu memprogram fail main.c. Walaupun dalam fail main.c kita akan mempunyai beberapa perkara yang disiapkan oleh CubeMX, kita hanya perlu menyuntingnya agar sesuai dengan program kita. Kod lengkap di dalam fail main.c diberikan di bahagian bawah halaman ini.
Program STM32 Nucleo64 untuk Mengawal LED menggunakan Tombol Tekan
Oleh kerana semua pemacu dan kod yang diperlukan dihasilkan oleh STM32CubeMX, kita hanya perlu mengkonfigurasi pin LED sebagai output dan butang tekan sebagai Input. Program untuk mengawal led menggunakan butang tekan hendaklah ditulis dalam fail main.c. Program lengkap boleh didapati di bahagian bawah halaman ini. Penjelasannya adalah seperti berikut
Kami hanya mempunyai kod bertulis untuk menukar LED menggunakan butang tekan. Untuk mencapainya, pertama kami menentukan pin untuk LED dan butang tekan. Di sini kita telah menentukan LED pada Pin 5 nombor PORTA
#tentukan LED_PORT GPIOA #tentukan LED_PIN GPIO_PIN_5
Dan tentukan suis pada Pin Nombor 13 PORTC.
#tentukan SW_PORT GPIOC #tentukan SW_PIN GPIO_PIN_13
Kemudian dalam fungsi utama, kami telah menginisialisasi semua periferal yang digunakan.
/ * Memulakan semua periferal yang dikonfigurasi * / MX_GPIO_Init (); MX_USART2_Init ();
Dan kemudian baca butang tekan menggunakan pernyataan if dan jika didapati tekan butang (RENDAH) maka LED akan menukar keadaannya.
Sementara (1) {/ * KOD PENGGUNA TAMAT KETIKA * / Jika (! HAL_GPIO_ReadPin (SW_PORT, SW_PIN)) {HAL_GPIO_TogglePin (SW_PORT, LED_PIN); HAL_Delay (200); } / * KOD PENGGUNA MULAI 3 * /}
Di sini fungsi HAL_GPIO_ReadPin (SW_PORT, SW_PIN) mempunyai dua argumen, satu adalah PORT dan yang lain adalah pin di mana suis disambungkan dan pin ini dikonfigurasi sebagai INPUT semasa mengkonfigurasi periferal dalam STM32CubeMX.
Menyahpepijat dan Memuat Naik Kod ke Lembaga Pembangunan STM32 Necleo64 menggunakan TrueSTUDIO
Sekarang sambungkan papan anda ke komputer menggunakan kabel pengaturcara. Setelah anda menyambungkannya, pemacu yang diperlukan untuk papan harus dimuat turun secara automatik, anda boleh menyemaknya menggunakan pengurus peranti.
Kemudian, Tekan ikon debug yang ditandai dengan bulatan merah pada gambar yang diberikan di bawah untuk menyusun program dan masuk ke mod debug.
Dalam mod debug, kod secara automatik akan dimuat naik. Sekarang kita perlu menjalankan kod dengan menekan 'Resume' atau F8 (ditandakan pada litar merah pada gambar di bawah).
Sekarang kita dapat menguji kawalan LED dengan menekan butang tekan. Menurut kod, LED harus mengubah keadaannya setiap kali anda menekan butang tekan. Penyelesaian yang lengkap juga terdapat dalam video yang dipautkan di bahagian bawah halaman ini.
Setelah menguji, kami juga dapat menghentikan program dengan menekan ikon putus, ditandai dengan lingkaran merah pada gambar di bawah.