- Penjelasan Perkakasan Lembaga Pembangunan STM32 Nucleo 64
- Memprogram Lembaga Pembangunan STM32 Nucleo 64
- Bermula dengan STM32F401
- Kesimpulannya
- Video
Bagi kebanyakan orang di luar sana, papan pengembangan tertanam pertama yang mereka kerjakan mungkin merupakan Lembaga Arduino. Tetapi, seperti semua yang boleh bersetuju, Arduino anda dapat membawa anda sejauh ini dan suatu hari nanti anda harus berpindah ke platform mikrokontroler asli. Proses ini dapat dibuat lebih mudah dengan papan pengembangan STM32 ini kerana dapat menyokong semua perisai Arduino untuk membantu anda di sisi perkakasan dan juga mempunyai banyak perpustakaan dan fungsi terbina dalam untuk membantu anda di sisi perisian. Mengenal Mikrokontroler STM32 juga akan membantu anda meneroka modul pembangunan lain dari ST seperti SensorTile.Box yang kami kaji sebelumnya. Oleh itu, dalam artikel ini, mari kita lihat papan pengembangan STM32 Nucleo-64 ini dan pelajari cara menggunakannya.
Sekarang terdapat banyak versi papan STM32 yang tersedia dan yang khusus di tangan saya dipanggil STM32F401 Nucleo-64. Nama STM32 menunjukkan bahawa kami mempunyai Mikrokontroler 32-bit di papan pengembangan kami, dan nama Nucleo-64 menunjukkan bahawa mikrokontroler mempunyai 64 pin. Begitu juga, terdapat banyak versi papan Nucleo 64 lain seperti STM32F103, STM32F303, dan lain-lain, tetapi setelah anda mengetahui tentang satu papan, semua papan yang lain serupa.
Penjelasan Perkakasan Lembaga Pembangunan STM32 Nucleo 64
Mari mulakan dengan membuka kotak Lembaga Pembangunan kami. Seperti yang anda lihat, pakej lengkap hanya terdiri daripada papan pengembangan kami dan kad arahan. Kad arahan menyebutkan spesifikasi pengawal, pinoutnya, dan di bahagian belakang, kami mempunyai beberapa maklumat mengenai cara memulakan dan pilihan rantai alat yang tersedia.
Dengan melihat lebih dekat papan, kita dapati papan itu terbahagi kepada dua wilayah. Bahagian atas adalah debugger dan pengaturcara ST-Link / V2 sementara bahagian bawah adalah papan pengembangan sebenar anda. Dengan cara ini anda dapat memprogram dan menyahpepijat papan anda dengan mudah hanya dengan kabel USB tambahan yang boleh disambungkan ke port mini USB di papan.
Pada pandangan pertama, papan itu mungkin mempunyai banyak jumper dan komponen, tetapi mereka semua ada di sana untuk memudahkan kita. Dua jumper yang anda dapati di kedua sisi papan CN11 dan CN12 sebenarnya adalah jumper palsu, jumper ini boleh digunakan untuk tujuan lain jika diperlukan pada masa akan datang. Kedua penerjun di CN2 digunakan untuk menghubungkan bahagian pengaturcara dan penyahpepijat dengan papan pengembangan kami. Pada masa akan datang, anda boleh membuang jumper ini untuk menggunakan programmer untuk mikrokontroler ST yang lain melalui pin ini. Dan pin penyambung JP1 ini dapat ditutup untuk menghadkan arus USB hingga 100mA, jika dibiarkan terbuka arus maksimum akan menjadi 300mA. Di sini kita mempunyai LED Tricolor (LD1) yang menyala sebagai Merah apabila papan dihidupkan dan bertukar menjadi hijau apabila papan berjaya diprogramkan dan bertukar menjadi jingga apabila terdapat kegagalan komunikasi.
Melangkah ke bahagian pembangunan, kita mempunyai komponen terpenting di sini, Mikrokontroler STM32F401RET6. Ini adalah Mikrokontroler 32-bit 64-Pin dengan pemproses ARM Cortex M4 yang beroperasi pada 84MHz. Ia juga mempunyai 512 Kb Flash dan 96KB SRAM. Mikrokontroler mempunyai 10 pemasa 16-bit dan 32-bit dan ADC 12-bit tunggal. Ia juga mempunyai tiga USART, tiga I2C, empat SPI dan satu USB 2.0 untuk komunikasi luaran. Anda boleh menyemak Lembaran Data STM32F401 untuk mendapatkan lebih banyak maklumat teknikal.
Sekarang inilah bahagian yang menarik, seperti yang saya katakan sebelumnya bahawa papan menyokong semua perisai Arduino. Papan ini mempunyai dua set penyambung, pin wanita adalah untuk pelindung Arduino yang sangat sesuai dengan Perisai Wi-Fi ESP8266 dan Perisai Semtech Arduino LoRa kami seperti yang anda lihat pada gambar di bawah.
Lelaki lain dipanggil ST morpho pin yang dapat digunakan untuk menggunakan pin reaming pada mikrokontroler 64-pin kami. Kemudian kami mempunyai butang reset di sini dan butang yang boleh dikonfigurasi pengguna yang disambungkan ke pin PC13 dan juga LED di sini yang disambungkan ke pin D13 seperti Arduino. Untuk menghidupkan papan, kita boleh menggunakan port USB atau secara langsung menyediakan 5V yang dikawal ke E5V atau ke pin 5V di sini. Ingatlah untuk menukar pelompat ini untuk menunjukkan bagaimana anda menggerakkan papan; U5V menunjukkan papan dikuasakan oleh USB. Kami juga mempunyai pin jumper lain yang menarik di sini yang disebut IDD yang boleh digunakan untuk mengukur berapa banyak arus mikrokontroler yang anda gunakan dengan menyambungkan ammeter ke pin ini.
Memprogram Lembaga Pembangunan STM32 Nucleo 64
Datang ke bahagian perisian, papan ini mempunyai perpustakaan dan sokongan pengaturcaraan yang besar dan dapat diprogramkan menggunakan Keil, meja kerja IAR dan banyak IDE lain. Tetapi yang menarik ialah ia menyokong persekitaran pembangunan ARM Mbed dan STM32Cube. Demi artikel ini, saya memutuskan untuk menggunakan platform ARM Mbed kerana ia adalah alat dalam talian dan saya merasa sangat menarik kerana anda bukan sahaja papan ST anda dengannya tetapi banyak papan pengembangan lain yang menggunakan mikrokontroler ARM.
Bagi mereka yang baru, ARM MBED adalah platform pengembangan dalam talian yang disediakan oleh ARM itu sendiri dan memberikan anda sistem operasi tertanam, perkhidmatan awan, dan ciri keselamatan untuk membuat penyelesaian terbenam berasaskan IoT dengan mudah. Ini adalah komuniti sumber terbuka yang besar dan mendapatkan perincian mengenainya memerlukan artikel yang terpisah.
Bermula dengan STM32F401
Tetapi, untuk memulakan, gunakan kabel mini USB untuk menyambungkan papan pengembangan STM32 anda dengan komputer anda. Setelah dihidupkan, anda harus perhatikan LED LD1 dan LD3 menyala merah, dan LED LD2 yang dapat diprogram akan berkelip dalam warna hijau seperti ini.
Anda juga akan melihat pemacu kilat baru di komputer anda yang disebut "NODE_F401RE". Buka dan anda akan menemui dua fail iaitu details.txt dan mbed.htm seperti gambar di bawah.
Anda boleh melancarkan fail Mbed.htm untuk secara langsung memulakan pengaturcaraan papan anda dalam talian menggunakan lengan Mbed. Tetapi, sebelum sampai di sana, kami telah memasang pemacu dan pendaftaran yang diperlukan untuk Mbed. Cari perisian pemacu STSW-link009 dan muat turun terus dari laman web ST, pasang pemacu dan pastikan peranti dijumpai dengan betul di pengurus peranti anda seperti yang ditunjukkan di sini.
Kembali ke platform mbed anda untuk mendaftar di MBED.com dengan bukti kelayakan anda. Kemudian, klik pada fail MBED.HTM dan anda akan disambut dengan halaman berikut.
Tatal ke bawah dan klik pada " Open Mbed compiler ". Seperti yang anda lihat, penyusun telah mengenal pasti platform kami sebagai Nucleo-F401RE dan menyediakan banyak program contoh asas kepada kami. Buat masa ini, izinkan saya memilih " LED Blinky code " dan mengubahnya sehingga LED mati setiap kali saya menekan butang tekan.
Setelah kod siap seperti yang ditunjukkan di bawah, anda boleh mengklik pada butang kompilasi, yang akan menyediakan anda sebuah tong sampah, cukup salin tong sampah itu dan tampalkannya di pemacu kilat anda untuk memprogram papan anda. Anda akan melihat LED LD1 bertukar Hijau setelah pengaturcaraan selesai. Sekarang tekan butang biru dan anda akan melihat LED Hijau mati. Seperti itu, anda boleh mencuba salah satu program contoh untuk mempelajari fungsi papan yang berbeza. Anda juga boleh kembali ke halaman utama untuk mendapatkan dokumen teknikal dan sokongan masyarakat yang lain.
Anda juga dapat menonton video yang dipautkan di bahagian bawah halaman ini, untuk melihat tinjauan lengkap di papan ini.
Kesimpulannya
Secara keseluruhan saya percaya, papan ini adalah pilihan yang sangat baik jika anda berusaha meningkatkan kemahiran anda dan mengembangkan aplikasi lanjutan. Dengan sokongan perkakasan praktikal dan komuniti dalam talian, keluk pembelajaran papan ini juga cukup mudah, jadi anda mungkin ingin mencubanya. Saya harap, anda menikmati artikel itu dan mengetahui sesuatu yang berguna daripadanya. Sekiranya anda mempunyai sebarang pertanyaan, tinggalkan di bahagian komen di bawah atau gunakan forum kami untuk pertanyaan teknikal yang lain.