Pengawal Mikro STM32WL3x

Arahan Penggunaan Produk
- Pakej STM32CubeWL3 termasuk API lapisan rendah (LL) dan lapisan abstraksi perkakasan (HAL) yang meliputi perkakasan mikropengawal.
- Ia juga menyediakan komponen perisian tengah seperti SigfoxTM, FatFS dan kernel FreeRTOS.
- Pakej itu disertakan dengan bekasamples dan aplikasi untuk pelaksanaan yang mudah.
- Seni bina STM32CubeWL3 dibina di sekitar tiga peringkat: Aplikasi, HAL dan LL.
- API HAL dan LL merangkumi pelbagai keperluan aplikasi.
- HAL menawarkan penggunaan persisian asas cthamples, dan LL menyediakan rutin peringkat rendah.
- Tahap ini termasuk Pakej Sokongan Papan (BSP) dan sublapisan HAL.
- BSP menawarkan API untuk komponen perkakasan pada papan, manakala HAL menyediakan penggunaan persisian asas examples.
- Pemacu BSP memautkan pemacu komponen ke papan tertentu, menjadikannya mudah untuk dipindahkan ke perkakasan lain.
- STM32CubeWL3 HAL dan LL adalah pelengkap, meliputi pelbagai keperluan aplikasi.
- Pengguna boleh memanfaatkan API ini untuk berinteraksi dengan perkakasan mikropengawal dengan cekap.
pengenalan
STM32Cube ialah inisiatif asal STMicroelectronics untuk meningkatkan produktiviti pereka dengan ketara dengan mengurangkan usaha pembangunan, masa dan kos. STM32Cube merangkumi keseluruhan portfolio STM32. STM32Cube termasuk:
STM32Cube termasuk:
- Satu set alat pembangunan perisian yang mesra pengguna untuk merangkumi pembangunan projek dari konsep hingga realisasi, antaranya ialah:
- STM32CubeMX, alat konfigurasi perisian grafik yang membenarkan penjanaan automatik kod permulaan C menggunakan wizard grafik
- STM32CubeIDE, alat pembangunan semua-dalam-satu dengan konfigurasi persisian, penjanaan kod, penyusunan kod dan ciri nyahpepijat
- STM32CubeCLT, set alat pembangunan baris perintah semua-dalam-satu dengan penyusunan kod, pengaturcaraan papan dan ciri nyahpepijat
- STM32CubeProgrammer (STM32CubeProg), alat pengaturcaraan yang tersedia dalam versi grafik dan baris arahan
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), alat pemantauan yang berkuasa untuk memperhalusi tingkah laku dan prestasi aplikasi STM32 dalam masa nyata
- Pakej STM32Cube MCU dan MPU, platform perisian terbenam komprehensif khusus untuk setiap siri mikropengawal dan mikropemproses (seperti STM32CubeWL3 untuk barisan produk STM32WL3x), yang termasuk:
- Lapisan abstraksi perkakasan STM32Cube (HAL), memastikan kemudahalihan maksimum merentas portfolio STM32
- API lapisan rendah STM32Cube, memastikan prestasi dan jejak terbaik dengan tahap kawalan pengguna yang tinggi ke atas perkakasan
- Satu set komponen middleware yang konsisten seperti kernel FreeRTOS™, FatFS dan Sigfox™
- Semua utiliti perisian terbenam dengan set lengkap periferal dan aplikatif examples
- Pakej Pengembangan STM32Cube, yang mengandungi komponen perisian terbenam yang melengkapkan fungsi Pakej MCU dan MPU STM32Cube dengan:
- Sambungan perisian tengah dan lapisan aplikatif
- Examples berjalan pada beberapa papan pembangunan STMicroelectronics tertentu
- Manual pengguna ini menerangkan cara untuk bermula dengan Pakej MCU STM32CubeWL3.
Bahagian 2 menerangkan ciri-ciri utama STM32CubeWL3 dan Bahagian 3 menyediakan overview seni bina dan struktur Pakej MCU.
Maklumat am
- STM32CubeWL3 menjalankan aplikasi demonstrasi sub-GHz, termasuk binari Sigfox™, pada mikropengawal barisan produk STM32WL3x berdasarkan pemproses Arm® Cortex®‑M0+.
- Pengawal mikro STM32WL3x membenamkan persisian radio RF pematuhan sub-GHz STMicroelectronics yang terkini, dioptimumkan untuk penggunaan kuasa ultra-rendah dan prestasi radio yang cemerlang, untuk hayat bateri yang tiada tandingan.
Nota: Arm ialah tanda dagangan berdaftar Arm Limited (atau anak syarikatnya) di AS dan/atau di tempat lain.

Ciri utama STM32CubeWL3
- Pakej MCU STM32CubeWL3 berjalan pada mikropengawal STM32 32-bit berdasarkan pemproses Arm® Cortex®‑M0+. Ia mengumpulkan, dalam satu pakej, semua komponen perisian terbenam generik yang diperlukan untuk membangunkan aplikasi untuk Barisan produk STM32WL3x mikropengawal.
- Pakej ini termasuk API lapisan rendah (LL) dan lapisan abstraksi perkakasan (HAL) yang meliputi perkakasan mikropengawal, bersama-sama dengan set bekas yang luas.amples berjalan pada papan STMicroelectronics. API HAL dan LL tersedia dalam lesen BSD sumber terbuka untuk kemudahan pengguna. Ia juga termasuk komponen middleware kernel Sigfox™, FatFS dan FreeRTOS™.
- Pakej MCU STM32CubeWL3 juga menyediakan beberapa aplikasi dan demonstrasi yang melaksanakan semua komponen perisian tengahnya.
- Susun atur komponen Pakej STM32CubeWL3 MCU digambarkan dalam Rajah 1.

Seni bina STM32CubeWL3 tamatview
- Penyelesaian Pakej STM32CubeWL3 MCU dibina di sekitar tiga tahap bebas yang mudah berinteraksi seperti yang diterangkan dalam Rajah 2.

Tahap 0
Tahap ini dibahagikan kepada tiga sublapisan:
- Pakej sokongan lembaga (BSP).
- Lapisan abstraksi perkakasan (HAL):
- Pemacu persisian HAL
- Pemacu lapisan rendah
- Penggunaan persisian asas cthamples.
Pakej sokongan lembaga (BSP)
Lapisan ini menawarkan satu set API berbanding komponen perkakasan dalam papan perkakasan (seperti LED, butang dan pemacu COM). Ia terdiri daripada dua bahagian:
Komponen:
- Ini adalah pemacu relatif kepada peranti luaran pada papan dan bukan kepada STM32. Pemacu komponen menyediakan API khusus kepada komponen luaran pemacu BSP dan boleh mudah alih pada mana-mana papan lain.
- Pemandu BSP:
- Ia membolehkan memautkan pemacu komponen ke papan tertentu dan menyediakan satu set API mesra pengguna. Peraturan penamaan API ialah BSP_FUNCT_Action().
- Example: BSP_LED_Init(), BSP_LED_On()
BSP adalah berdasarkan seni bina modular yang membolehkan pemindahan mudah pada mana-mana perkakasan dengan hanya melaksanakan rutin peringkat rendah.
Lapisan abstraksi perkakasan (HAL) dan lapisan rendah (LL)
STM32CubeWL3 HAL dan LL adalah pelengkap dan meliputi pelbagai keperluan aplikasi:
- Pemacu HAL menawarkan API mudah alih berorientasikan fungsi tahap tinggi. Mereka menyembunyikan MCU dan kerumitan persisian kepada pengguna akhir.
Pemacu HAL menyediakan API berorientasikan ciri berbilang contoh generik, yang memudahkan pelaksanaan aplikasi pengguna dengan menyediakan proses sedia untuk digunakan. Untuk exampUntuk peranti komunikasi (I2C, UART, dan lain-lain), ia menyediakan API yang membolehkan memulakan dan mengkonfigurasi peranti, mengurus pemindahan data berdasarkan tinjauan pendapat, gangguan atau proses DMA dan mengendalikan ralat komunikasi yang mungkin timbul semasa komunikasi. API pemacu HAL dibahagikan kepada dua kategori:- API Generik, yang menyediakan fungsi biasa dan generik kepada semua mikropengawal siri STM32.
- API Sambungan, yang menyediakan fungsi khusus dan tersuai untuk keluarga tertentu atau nombor bahagian tertentu.
- API lapisan rendah menyediakan API peringkat rendah pada peringkat daftar, dengan pengoptimuman yang lebih baik tetapi kurang mudah alih.
Mereka memerlukan pengetahuan mendalam tentang MCU dan spesifikasi persisian.
Pemacu LL direka bentuk untuk menawarkan lapisan cepat ringan, berorientasikan pakar yang lebih dekat dengan perkakasan daripada HAL. Bertentangan dengan HAL, API LL tidak disediakan untuk peranti yang akses yang dioptimumkan bukanlah ciri utama, atau untuk mereka yang memerlukan konfigurasi perisian berat atau timbunan peringkat atas yang kompleks.
Ciri pemacu LL: - Satu set fungsi untuk memulakan ciri utama persisian mengikut parameter yang dinyatakan dalam struktur data.
- Satu set fungsi untuk mengisi struktur data permulaan dengan nilai set semula yang sepadan dengan setiap medan.
- Fungsi untuk nyahpemulaan persisian (daftar persisian dipulihkan kepada nilai lalainya).
- Satu set fungsi sebaris untuk akses daftar langsung dan atom.
- Kebebasan sepenuhnya daripada HAL dan keupayaan untuk digunakan dalam mod kendiri (tanpa pemacu HAL).
- Liputan penuh ciri persisian yang disokong.
Penggunaan persisian asas cthamples
Lapisan ini merangkumi bekasampdibina di atas peranti STM32 hanya menggunakan sumber HAL dan BSP.
Nota: Demonstrasi examples juga tersedia untuk menunjukkan ex yang lebih kompleksampsenario dengan peranti khusus, seperti MRSUBG dan LPAWUR.
Tahap 1
Tahap ini dibahagikan kepada dua sublapisan:
- Komponen middleware
- Examples berdasarkan komponen middleware
Komponen middleware
Perisian tengah ialah satu set perpustakaan yang meliputi kernel FreeRTOS™, FatFS, dan perpustakaan protokol Sigfox™.
Interaksi mendatar antara komponen lapisan ini dilakukan dengan memanggil API yang ditampilkan.
Interaksi menegak dengan pemacu lapisan rendah dilakukan melalui panggilan balik khusus dan makro statik yang dilaksanakan dalam antara muka panggilan sistem perpustakaan.
Ciri-ciri utama setiap komponen middleware adalah seperti berikut:
- Kernel FreeRTOS™: melaksanakan sistem pengendalian masa nyata (RTOS), yang direka untuk sistem terbenam.
- Sigfox™: melaksanakan perpustakaan protokol Sigfox™ yang mematuhi rangkaian protokol Sigfox™ dan termasuk perpustakaan protokol ujian RF untuk menguji terhadap alatan RF Sigfox™.
- FatFS: melaksanakan FAT generik file modul sistem.
Examples berdasarkan komponen middleware
- Setiap komponen middleware disertakan dengan satu atau lebih examples, juga dipanggil aplikasi, menunjukkan cara menggunakannya.
- Integrasi cthamples yang menggunakan beberapa komponen middleware juga disediakan.
Pakej perisian tegar STM32CubeWL3 tamatview
Peranti dan perkakasan STM32WL3x yang disokong
- STM32Cube menawarkan lapisan abstraksi perkakasan (HAL) yang sangat mudah alih yang dibina di sekeliling seni bina generik. Ia membenarkan prinsip lapisan binaan, seperti menggunakan lapisan middleware untuk melaksanakan fungsi mereka tanpa mengetahui, secara mendalam, jenis MCU yang digunakan. Ini meningkatkan kebolehgunaan semula kod perpustakaan dan memastikan mudah alih ke peranti lain.
- Selain itu, dengan seni bina berlapis-lapis, STM32CubeWL3 menawarkan sokongan penuh untuk semua barisan produk STM32WL3x.
- Pengguna hanya perlu menentukan makro yang betul dalam stm32wl3x.h.
- Jadual 1 menunjukkan makro untuk ditakrifkan bergantung pada peranti barisan produk STM32WL3x yang digunakan. Makro ini juga mesti ditakrifkan dalam prapemproses pengkompil.
Jadual 1. Makro untuk barisan produk STM32WL3x
| Makro ditakrifkan dalam STM32WL3X.h | Peranti barisan produk STM32WL3x |
| stm32wl3x | Pengawal mikro STM32WL30xx Pengawal mikro STM32WL31xx Pengawal mikro STM32WL33xx |
Jadual 2. Papan untuk barisan produk STM32WL3x
| Papan | Peranti yang disokong papan STM32WL3x |
| NUCLEO-WL33CC1 | STM32WL33CC |
| NUCLEO-WL33CC2 | STM32WL33CC |
Pakej MCU STM32CubeWL3 boleh dijalankan pada mana-mana perkakasan yang serasi. Pengguna mengemas kini pemacu BSP untuk mengalihkan ex yang disediakanamples pada papan mereka, jika ini mempunyai ciri perkakasan yang sama (seperti LED atau butang).
Pakej perisian tegar tamatview
- Penyelesaian Pakej STM32CubeWL3 MCU disediakan dalam satu pakej zip tunggal, dengan struktur ditunjukkan dalam Rajah 3.

Awas: Pengguna tidak boleh mengubah suai komponen files. Pengguna hanya boleh mengedit sumber \Projects. Untuk setiap papan, satu set bekasamples disediakan dengan projek prakonfigurasi untuk rantai alat EWARM, MDK-ARM dan STM32CubeIDE.
Rajah 4 menunjukkan struktur projek untuk papan NUCLEO-WL33CCx.

bekas ituamples dikelaskan bergantung pada tahap STM32CubeWL3 yang digunakan. Mereka dinamakan seperti berikut:
- Tahap 0 cthamples dipanggil Examples, Cthamples_LL, dan Cthamples_MIX. Mereka masing-masing menggunakan pemacu HAL, pemacu LL, dan gabungan pemacu HAL dan LL tanpa sebarang komponen perisian tengah. Demonstrasi examples juga disediakan.
- Tahap 1 cthamples dipanggil Aplikasi. Mereka menyediakan kes penggunaan biasa bagi setiap komponen middleware.
Sebarang aplikasi perisian tegar untuk papan tertentu boleh dibina dengan cepat menggunakan projek templat yang tersedia dalam direktori Templat dan Templates_LL.
Examples, Cthamples_LL, dan Cthamples_MIX mempunyai struktur yang sama:
- \Inc folder yang mengandungi semua pengepala files.
- \Src folder yang mengandungi kod sumber.
- Folder \EWARM, \MDK-ARM dan \STM32CubeIDE yang mengandungi projek prakonfigurasi untuk setiap rantai alat.
- readme.md dan readme.html menerangkan bekasamptingkah laku dan persekitaran yang diperlukan untuk menjadikannya berfungsi.
Bermula dengan STM32CubeWL3
Menjalankan bekas pertamaample
Bahagian ini menerangkan betapa mudahnya menjalankan ex pertamaample dalam STM32CubeWL3. Ia menggunakan sebagai ilustrasi penjanaan togol LED ringkas yang berjalan pada papan NUCLEO-WL33CC1:
- Muat turun Pakej MCU STM32CubeWL3.
- Nyahzipnya, atau jalankan pemasang jika disediakan, ke dalam direktori pilihan anda.
- Pastikan anda tidak mengubah suai struktur pakej yang ditunjukkan dalam Rajah 3. Struktur pakej perisian tegar STM32CubeWL3. Ambil perhatian bahawa ia juga disyorkan untuk menyalin pakej di lokasi yang berhampiran dengan volum akar (bermaksud C:\ST atau G:\Tests), kerana sesetengah IDE menghadapi masalah apabila laluan terlalu panjang.
Bagaimana untuk menjalankan bekas HALample
Sebelum memuatkan dan menjalankan bekasample, sangat disyorkan untuk membaca bekasample readme file untuk sebarang konfigurasi tertentu.
- Semak imbas ke \Projects\NUCLEO-WL33CC\Examples.
- Buka folder \GPIO, kemudian \GPIO_EXTI.
- Buka projek dengan rantai alat pilihan. Cepat selesaiview tentang cara membuka, membina dan menjalankan bekasample dengan rantai alat yang disokong diberikan di bawah.
- Bina semula semua files dan muatkan imej ke dalam memori sasaran.
- Jalankan bekasample. Untuk butiran lanjut, rujuk bekasample readme file.
Untuk membuka, membina dan menjalankan bekasampdengan setiap rantai alat yang disokong, ikuti langkah di bawah:
- EWARM:
- Di bawah Examples, buka subfolder \EWARM.
- Lancarkan ruang kerja Project.eww (nama ruang kerja mungkin berubah daripada satu example kepada yang lain).
- Bina semula semua files: [Projek]>[Bina semula semua].
- Muatkan imej projek: [Projek]>[Nyahpepijat].
- Jalankan program: [Debug]>[Go (F5)].
- MDK-ARM:
- Di bawah Examples, buka subfolder \MDK-ARM.
- Buka ruang kerja Project.uvproj (nama ruang kerja mungkin berubah daripada satu example kepada yang lain).
- Bina semula semua files: [Projek]>[Bina semula semua sasaran files].
- Muatkan imej projek: [Debug]>[Start/Stop Debug Session].
- Jalankan program: [Debug]>[Run (F5)].
- STM32CubeIDE:
- Buka rantai alat STM32CubeIDE.
- Klik pada [File]>[Tukar Ruang Kerja]>[Lain] dan semak imbas ke direktori ruang kerja STM32CubeIDE.
- Klik pada [File]>[Import], pilih [Umum]>[Projek Sedia Ada ke Ruang Kerja], dan kemudian klik [Seterusnya].
- Semak imbas ke direktori ruang kerja STM32CubeIDE dan pilih projek.
- Bina semula semua projek files: Pilih projek dalam tetingkap Project Explorer kemudian klik pada menu [Projek]>[Build project].
- Jalankan program: [Run]>[Debug (F11)].
Membangunkan aplikasi tersuai
Menggunakan STM32CubeMX untuk membangunkan atau mengemas kini aplikasi
- Dalam Pakej MCU STM32Cube, hampir semua projek examples dijana dengan alat STM32CubeMX untuk memulakan sistem, persisian dan perisian tengah.
Penggunaan langsung projek sedia ada exampdaripada alat STM32CubeMX memerlukan STM32CubeMX 6.12.0 atau lebih tinggi:
- Selepas pemasangan STM32CubeMX, buka dan jika perlu kemas kini projek yang dicadangkan.
Cara paling mudah untuk membuka projek sedia ada adalah dengan mengklik dua kali pada *.ioc file supaya STM32CubeMX secara automatik membuka projek dan sumbernya files. STM32CubeMX menjana kod sumber permulaan bagi projek tersebut. - Kod sumber aplikasi utama terkandung dalam ulasan "KOD PENGGUNA BERMULA" dan "KOD PENGGUNA TAMAT". Jika pemilihan dan tetapan persisian diubah suai, STM32CubeMX mengemas kini bahagian permulaan kod sambil mengekalkan kod sumber aplikasi utama.
- Untuk membangunkan projek tersuai dengan STM32CubeMX, ikuti proses langkah demi langkah:
- Konfigurasikan semua perisian terbenam yang diperlukan menggunakan penyelesai konflik pinout, pembantu tetapan pokok jam, kalkulator penggunaan kuasa dan utiliti yang melaksanakan konfigurasi persisian MCU (seperti GPIO atau USART).
- Hasilkan kod permulaan C berdasarkan konfigurasi yang dipilih. Kod ini sedia untuk digunakan dalam beberapa persekitaran pembangunan. Kod pengguna disimpan pada penjanaan kod seterusnya.
Untuk maklumat lanjut tentang STM32CubeMX, rujuk manual pengguna STM32CubeMX untuk konfigurasi STM32 dan penjanaan kod C permulaan (UM1718).
Aplikasi pemandu
permohonan HAL
Bahagian ini menerangkan langkah-langkah yang diperlukan untuk mencipta aplikasi HAL tersuai menggunakan STM32CubeWL3
- Buat projek
Untuk mencipta projek baharu, mulakan sama ada daripada projek Templat yang disediakan untuk setiap papan di bawah \Projek\ \Templat atau daripada mana-mana projek yang tersedia di bawah \Projek\ \Cthamples atau \Proj ects\ \Aplikasi (di mana merujuk kepada nama papan).
Projek Templat menyediakan fungsi gelung utama kosong. Walau bagaimanapun, ia adalah titik permulaan yang baik untuk memahami tetapan projek STM32CubeWL3. Templat mempunyai ciri-ciri berikut:- Ia mengandungi kod sumber HAL, CMSIS dan pemacu BSP, yang merupakan set minimum komponen yang diperlukan untuk membangunkan kod pada papan tertentu.
- Ia mengandungi laluan yang disertakan untuk semua komponen perisian tegar.
- Ia mentakrifkan peranti barisan produk STM32WL3x yang disokong, membolehkan pemacu CMSIS dan HAL dikonfigurasikan dengan betul.
- Ia menyediakan pengguna sedia untuk digunakan files prakonfigurasi seperti yang ditunjukkan di bawah:
- HAL dimulakan dengan asas masa lalai dengan teras Arm® SysTick.
- SysTick ISR dilaksanakan untuk tujuan HAL_Delay().
- Nota: Apabila menyalin projek sedia ada ke lokasi lain, pastikan semua laluan yang disertakan dikemas kini.
- Konfigurasikan komponen perisian tegar
Komponen HAL dan middleware menawarkan satu set pilihan konfigurasi masa binaan menggunakan makro #define yang diisytiharkan dalam pengepala file. Konfigurasi templat file disediakan dalam setiap komponen, yang mesti disalin ke folder projek (biasanya konfigurasi file dinamakan xxx_conf_template.h, serpihan itu- templat perlu dialih keluar apabila menyalinnya ke folder projek). Konfigurasi file menyediakan maklumat yang mencukupi untuk memahami kesan setiap pilihan konfigurasi. Maklumat yang lebih terperinci tersedia dalam dokumentasi yang disediakan untuk setiap komponen.
- Mulakan perpustakaan HAL
Selepas melompat ke program utama, kod aplikasi mesti memanggil API HAL_Init() untuk memulakan perpustakaan HAL, yang menjalankan tugas berikut:- Konfigurasi prefetch memori denyar dan keutamaan gangguan SysTick (melalui makro yang ditakrifkan dalam stm32 wl3x_hal_conf.h).
- Konfigurasi SysTick untuk menjana gangguan setiap milisaat pada keutamaan gangguan SysTick TICK_INT_PRIO yang ditakrifkan dalam stm32wl3x_hal_conf.h.
- Menetapkan keutamaan kumpulan NVIC kepada 0.
- Panggilan fungsi panggil balik HAL_MspInit() ditakrifkan dalam pengguna stm32wl3x_hal_msp.c file untuk melaksanakan pemulaan perkakasan peringkat rendah global.
- Konfigurasikan jam sistem
Konfigurasi jam sistem dilakukan dengan memanggil dua API yang diterangkan di bawah:- HAL_RCC_OscConfig(): API ini mengkonfigurasi pengayun dalaman dan luaran. Pengguna memilih untuk
mengkonfigurasi satu atau semua pengayun. - HAL_RCC_ClockConfig(): API ini mengkonfigurasi sumber jam sistem, kependaman memori denyar dan praskala AHB dan APB.
- HAL_RCC_OscConfig(): API ini mengkonfigurasi pengayun dalaman dan luaran. Pengguna memilih untuk
- Mulakan periferal
- Mula-mula tulis fungsi permulaan persisian. Teruskan seperti berikut:
- Dayakan jam persisian.
- Konfigurasikan GPIO persisian.
- Konfigurasikan saluran DMA dan dayakan gangguan DMA (jika perlu).
- Dayakan gangguan persisian (jika perlu).
- Edit stm32xxx_it.c untuk memanggil pengendali gangguan yang diperlukan (periferal dan DMA), jika perlu.
- Tulis fungsi panggil balik lengkap proses jika gangguan persisian atau DMA dimaksudkan untuk digunakan.
- Dalam pengguna utama.c file, mulakan struktur pemegang persisian kemudian panggil fungsi pemula persisian untuk memulakan persisian.
- Membangunkan aplikasi
Pada s initage, sistem telah sedia dan pembangunan kod aplikasi pengguna boleh dimulakan.
HAL menyediakan API intuitif dan sedia untuk digunakan untuk mengkonfigurasi peranti. Ia menyokong tinjauan pendapat, gangguan dan model pengaturcaraan DMA, untuk menampung sebarang keperluan aplikasi. Untuk butiran lanjut tentang cara menggunakan setiap peranti, rujuk bekas kayaampSet yang disediakan dalam Pakej MCU STM32CubeWL3.
Awas: Dalam pelaksanaan HAL lalai, pemasa SysTick digunakan sebagai pangkalan masa: ia menghasilkan gangguan pada selang masa tetap. Jika HAL_Delay() dipanggil daripada proses ISR persisian, pastikan sampukan SysTick mempunyai keutamaan yang lebih tinggi (secara angka lebih rendah) daripada sampukan persisian. Jika tidak, proses ISR pemanggil disekat. Fungsi yang mempengaruhi konfigurasi pangkalan masa diisytiharkan sebagai __lemah untuk membolehkan penggantian berlaku sekiranya pelaksanaan lain dalam pengguna file (menggunakan pemasa tujuan umum, contohnyaample, atau sumber masa lain). Untuk butiran lanjut, rujuk HAL_TimeBase example.
permohonan LL
Bahagian ini menerangkan langkah-langkah yang diperlukan untuk mencipta aplikasi LL tersuai menggunakan STM32CubeWL3.
- Buat projek
Untuk mencipta projek baharu, sama ada bermula daripada projek Templates_LL yang disediakan untuk setiap papan di bawah \Projek\ \Templates_LL atau daripada mana-mana projek yang tersedia di bawah \Projects\ \Cthamples_ LL ( merujuk kepada nama papan, seperti NUCLEO-WL32CC33).
Projek templat menyediakan fungsi gelung utama kosong, yang merupakan titik permulaan yang baik untuk memahami tetapan projek untuk STM32CubeWL3. Ciri-ciri utama templat adalah seperti berikut:- Ia mengandungi kod sumber pemacu LL dan CMSIS, yang merupakan set minimum komponen yang diperlukan untuk membangunkan kod pada papan tertentu.
- Ia mengandungi laluan yang disertakan untuk semua komponen perisian tegar yang diperlukan.
- Ia memilih peranti barisan produk STM32WL3x yang disokong dan membenarkan konfigurasi yang betul bagi pemacu CMSIS dan LL.
- Ia menyediakan pengguna sedia untuk digunakan files yang diprakonfigurasikan seperti berikut:
- main.h: lapisan abstraksi definisi LED dan USER_BUTTON.
- main.c: Konfigurasi jam sistem untuk kekerapan maksimum.
- Port LL example:
- Salin/tampal folder Templates_LL – untuk mengekalkan sumber awal – atau kemas kini terus projek Template s_LL sedia ada.
- Kemudian, porting terdiri terutamanya dalam menggantikan Templates_LL files oleh Exampprojek sasaran les_LL.
- Simpan semua bahagian khusus papan. Atas sebab kejelasan, bahagian tertentu papan dibenderakan dengan khusus tags:

- Oleh itu, langkah-langkah pengalihan utama adalah seperti berikut:
- Gantikan stm32wl3x_it.h file.
- Gantikan stm32wl3x_it.c file.
- Gantikan yang utama.h file dan kemas kininya: Simpan definisi LED dan butang pengguna bagi templat LL di bawah KONFIGURASI KHUSUS PAPAN tags.
- Gantikan yang utama.c file dan kemas kini:
- Kekalkan konfigurasi jam fungsi templat SystemClock_Config() LL di bawah KONFIGURASI KHUSUS PAPAN tags.
- Bergantung pada definisi LED, gantikan setiap kejadian LDx dengan LDy lain yang tersedia dalam file utama.h.
- Dengan pengubahsuaian ini, bekasample berjalan di atas papan yang disasarkan.
Aplikasi RF, demonstrasi dan examples
Pelbagai jenis aplikasi RF, demonstrasi dan examples boleh didapati dalam pakej STM32CubeWL3.
Mereka disenaraikan dalam dua bahagian di bawah.
Sub-GHz examples dan demonstrasi
Bekas iniamples menunjukkan ciri-ciri utama peranti radio MRSUBG dan LPAWUR. Bekas iniamples boleh didapati di bawah:
- Projek\NUCLEO-WL33CC\Cthamples\MRSUBG
- Projek\NUCLEO-WL33CC\Cthamples\LPAWUR
- Projek\NUCLEO-WL33CC\Demonstrasi\MRSUBG
- Projek\NUCLEO-WL33CC\Demonstrasi\LPAWUR
Setiap bekasampLe atau demonstrasi umumnya terdiri daripada dua program yang dipanggil Tx dan Rx bertindak sebagai pemancar dan penerima, masing-masing:
Examples/MRSUBG
- MRSUBG_802_15_4: pelaksanaan lapisan fizikal yang ditakrifkan oleh standard 802.15.4. Ia menunjukkan cara untuk mengkonfigurasi radio untuk menghantar atau menerima paket 802.15.4.
- MRSUBG_BasicGeneric: Pertukaran paket asas STM32WL3x MR_SUBG.
- MRSUBG_Chat: Aplikasi ringkas yang menunjukkan cara menggunakan Tx dan Rx pada peranti yang sama.
- MRSUBG_DatabufferHandler: Seorang bekasample yang menunjukkan cara menukar dari Databuffer 0 dan 1.
- MRSUBG_Sequencer AutoAck: Bekasampyang menghantar dan menerima pengakuan paket (ACKs) secara automatik.
- MRSUBG_WMBusSTD: Pertukaran mesej WM-Bus.
- WakeupRadio: Seorang bekasample untuk menguji peranti radio LPAWUR.
Demonstrasi/MRSUBG
- MRSUBG_RTC_Button_TX: Bekas iniample menunjukkan cara untuk menetapkan SoC dalam mod henti dalam dan mengkonfigurasi MRSUBG untuk membangunkan SoC dengan menekan PB2 untuk menghantar bingkai atau selepas tamat tempoh pemasa RTC.
- MRSUBG_Sequencer_Sniff: Bekas iniample menunjukkan cara untuk menetapkan penjujukan MRSUBG untuk beroperasi dalam mod sniff. bekas iniample menunjukkan bahagian penerima dan memerlukan peranti lain sebagai pemancar.
- MRSUBG_Timer: Aplikasi menjadualkan beberapa contoh pemasa MRSUBG (dengan autoreload) dengan selang masa yang berbeza.
- MRSUBG_WakeupRadio_Tx: Bekas iniample menerangkan cara untuk menetapkan SoC dalam mod hentian dalam dan mengkonfigurasi MRSUBG untuk membangunkan SoC dengan menekan PB2 untuk menghantar bingkai. bekas iniample menunjukkan sisi pemancar dan memerlukan peranti lain sebagai penerima LPAWUR. Penerima example terletak di bawah folder NUCLEO-WL33CC\Demonstrations\LPAWUR\LPAWUR_WakeupRadio_Rx.
Demonstrasi/LPAWUR
- LPAWUR_WakeupRadio_Rx: Bekas iniample menerangkan cara untuk menetapkan SoC dalam mod hentian dalam dan mengkonfigurasi LPAWUR untuk membangunkan SoC apabila bingkai tiba dan diterima dengan betul. bekas iniample menunjukkan bahagian penerima dan memerlukan peranti lain sebagai pemancar. Pemancar example terletak di bawah folder NUCLEO-WL33CC\Demonstrations\MRSUBG\MRSUBG_WakeupRadio_Tx.
Aplikasi Sigfox™
Aplikasi ini menunjukkan cara untuk melaksanakan senario Sigfox™ dan menggunakan API Sigfox™ yang tersedia. Ia tersedia dalam laluan projek Projects\NUCLEO-WL33CC\Applications\Sigfox\:
- Sigfox_CLI: Aplikasi ini menunjukkan cara menggunakan antara muka baris perintah (CLI) untuk menghantar arahan yang menggunakan protokol Sigfox™ untuk menghantar mesej dan melakukan ujian prapensijilan.
- Sigfox_PushButton: Aplikasi ini membenarkan penilaian keupayaan radio peranti STM32WL33xx Sigfox™. Menekan PB1 menghantar bingkai ujian Sigfox™.
Sejarah semakan
Jadual 3. Sejarah semakan dokumen
| tarikh | Semakan | Perubahan |
| 29-Mac-2024 | 1 | Keluaran awal. |
| 30-Okt-2024 | 2 | Penyepaduan penuh STM32CubeWL3 dalam STM32Cube. Dikemas kini:
• pengenalan • Bahagian 2: STM32CubeWL3 ciri utama • Bahagian 3.2.1: Komponen middleware • Bahagian 4: Pakej perisian tegar STM32CubeWL3 tamatview • Bahagian 5.1: Menjalankan ex pertamaample • Bahagian 5.3: Aplikasi RF, tunjuk cara dan examples Ditambah: • Bahagian 5.1.1: Cara menjalankan HAL example • Bahagian 5.2.1: Menggunakan STM32CubeMX untuk membangunkan atau mengemas kini aplikasi • Seksi 6.4: Adakah terdapat sebarang projek templat untuk periferal MRSUBG/LPAWUR examples? • Bahagian 6.5: Bagaimanakah STM32CubeMX boleh menjana kod berdasarkan perisian terbenam? Dialih keluar: • alatan PC, termasuk Navigator, GUI STM32WL3, dan GUI Sequencer MR-SUBG • Bagaimanakah WiSE-Studio IOMapper boleh menjana kod berdasarkan perisian terbenam? • Adakah Navigator membenarkan akses kepada sumber pakej perisian? |
| 22-Jan-2025 | 3 | Memperluaskan julat peranti yang berkenaan kepada mikropengawal STM32WL30xx dan STM32WL31xx dalam Jadual 1. Makro untuk barisan produk STM32WL3x. |
NOTIS PENTING – BACA DENGAN TELITI
- STMicroelectronics NV dan anak syarikatnya (“ST”) berhak untuk membuat perubahan, pembetulan, penambahbaikan, pengubahsuaian dan penambahbaikan pada produk ST dan/atau pada dokumen ini pada bila-bila masa tanpa notis. Pembeli hendaklah mendapatkan maklumat terkini berkaitan produk ST sebelum membuat pesanan. Produk ST dijual menurut terma dan syarat jualan ST yang ada pada masa penerimaan pesanan.
- Pembeli bertanggungjawab sepenuhnya untuk pilihan, pemilihan dan penggunaan produk ST dan ST tidak bertanggungjawab untuk bantuan permohonan atau reka bentuk produk pembeli.
- Tiada lesen, nyata atau tersirat, kepada mana-mana hak harta intelek diberikan oleh ST di sini.
- Jualan semula produk ST dengan peruntukan yang berbeza daripada maklumat yang dinyatakan di sini akan membatalkan sebarang waranti yang diberikan oleh ST untuk produk tersebut.
- ST dan logo ST adalah tanda dagangan ST. Untuk maklumat tambahan tentang tanda dagangan ST, rujuk kepada www.st.com/trademarks. Semua nama produk atau perkhidmatan lain adalah hak milik pemilik masing-masing.
- Maklumat dalam dokumen ini menggantikan dan menggantikan maklumat yang dibekalkan sebelum ini dalam mana-mana versi terdahulu dokumen ini.
- © 2025 STMicroelectronics – Hak cipta terpelihara
Soalan Lazim
Bilakah saya harus menggunakan HAL dan bukannya pemacu LL?
Pemacu HAL menawarkan API peringkat tinggi dan berorientasikan fungsi, dengan tahap mudah alih yang tinggi. Kerumitan produk atau persisian tersembunyi untuk pengguna akhir. Pemacu LL menawarkan API peringkat daftar lapisan rendah dengan pengoptimuman yang lebih baik tetapi kurang mudah alih. Mereka memerlukan pengetahuan yang mendalam tentang produk atau spesifikasi IP.
Bagaimanakah API permulaan LL didayakan?
Takrifan API permulaan LL dan literal dan prototaip struktur sumber yang berkaitan dikondisikan oleh suis kompilasi USE_FULL_LL_DRIVER. Untuk dapat menggunakan API permulaan LL, tambahkan suis ini dalam prapemproses pengkompil rantai alat.
Adakah terdapat sebarang projek templat untuk periferal MRSUBG/LPAWUR examples?
Untuk mencipta bekas MRSUBG atau LPAWUR baharuampprojek, sama ada bermula dari projek rangka yang disediakan di bawah Pr ojectsNUCLEO- 33CC Examples MRSUBG atau ProjectsNUCLEO-WL33CC Cthamples LPAWUR atau daripada mana-mana projek yang tersedia di bawah direktori yang sama ini.
Bagaimanakah STM32CubeMX boleh menjana kod berdasarkan perisian terbenam?
STM32CubeMX mempunyai pengetahuan terbina dalam mikropengawal STM32, termasuk peranti dan perisiannya, yang membolehkannya memberikan perwakilan grafik kepada pengguna dan menjana .h atau .c files berdasarkan konfigurasi pengguna.
Dokumen / Sumber
![]() |
Pengawal Mikro ST STM32WL3x [pdf] Manual Pengguna Pengawal Mikro STM32WL3x, STM32WL3x, Pengawal Mikro |

