Paket Software STM32WL3x
Spesifikasi
- Nama Produk: STM32CubeWL3 paket perangkat lunak
- Kompatibilitas: STM32WL3x mikrokontroler
- Fitur utama:
- Low-layer (LL) lan hardware abstraction layer (HAL) API
- Komponen middleware kernel SigfoxTM, FatFS, lan FreeRTOSTM
- Aplikasi lan demonstrasi
Pandhuan Panggunaan Produk
Miwiti
Kanggo miwiti nggunakake paket piranti lunak STM32CubeWL3, tindakake langkah iki:
- Download paket piranti lunak saka resmi websitus.
- Instal lingkungan pangembangan sing dibutuhake (contone, STM32CubeIDE, EWARM, MDK-ARM).
- Rujuk marang mantanamples lan aplikasi kasedhiya kanggo panuntun dhumateng.
STM32CubeWL3 Arsitektur Swaraview
Paket piranti lunak STM32CubeWL3 dibangun watara telung tingkat utama
- Tingkat 0: Lapisan abstraksi hardware (HAL) lan driver BSP.
- Tingkat 1: Aplikasi, perpustakaan, lan komponen adhedhasar protokol.
Pitakonan sing Sering Ditakoni (FAQ)
P: Apa fitur utama paket piranti lunak STM32CubeWL3?
A: Fitur utama kalebu low-layer lan HAL API, komponen middleware kaya SigfoxTM, FatFS, FreeRTOSTM kernel, aplikasi, lan demonstrasi.
Pambuka
STM32Cube minangka inisiatif asli STMicroelectronics kanggo nambah produktivitas desainer kanthi signifikan kanthi nyuda gaweyan, wektu, lan biaya pangembangan. STM32Cube nyakup kabeh portofolio STM32.
STM32Cube kalebu:
- Seperangkat alat pangembangan piranti lunak sing ramah pangguna kanggo nutupi pangembangan proyek saka konsepsi nganti realisasi, ing antarane] yaiku:
- STM32CubeMX, alat konfigurasi piranti lunak grafis sing ngidini generasi otomatis kode inisialisasi C nggunakake penyihir grafis
- STM32CubeIDE, alat pangembangan kabeh-ing-siji kanthi konfigurasi periferal, nggawe kode, kompilasi kode, lan fitur debug
- STM32CubeCLT, toolset pangembangan baris perintah kabeh-ing-siji kanthi kompilasi kode, pemrograman papan, lan fitur debug
- STM32CubeProgrammer (STM32CubeProg), alat pemrograman sing kasedhiya ing versi grafis lan baris perintah
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), alat pemantauan sing kuat kanggo nyempurnakake prilaku lan kinerja aplikasi STM32 ing wektu nyata
- Paket STM32Cube MCU lan MPU, platform piranti lunak sing dipasang lengkap khusus kanggo saben seri mikrokontroler lan mikroprosesor (kayata STM32CubeWL3 kanggo lini produk STM32WL3x), sing kalebu:
- STM32Cube hardware abstraction layer (HAL), njamin portabilitas maksimal ing portofolio STM32
- STM32Cube low-layer API, njamin kinerja lan jejak sing paling apik kanthi tingkat kontrol pangguna sing dhuwur ing] hardware
- Sakumpulan komponen middleware sing konsisten kayata kernel FreeRTOS™, FatFS, lan Sigfox™
- Kabeh piranti lunak sing dipasang kanthi set lengkap peripheral lan aplikatifamples
- Paket Ekspansi STM32Cube, sing ngemot komponen piranti lunak sing dipasang sing nglengkapi fungsionalitas Paket STM32Cube MCU lan MPU kanthi:
-
- Ekstensi Middleware lan lapisan aplikatif
- Examples mlaku ing sawetara Papan pangembangan STMicroelectronics tartamtu
Manual pangguna iki nerangake carane miwiti karo Paket STM32CubeWL3 MCU.
Bagean 2 nggambarake fitur utama STM32CubeWL3 lan Bagean 3 menehi liwatview arsitektur lan struktur Paket MCU.
Informasi umum
STM32CubeWL3 nganggo aplikasi demonstrasi sub-GHz, kalebu binari Sigfox™, ing mikrokontroler lini produk STM32WL3x adhedhasar prosesor Arm® Cortex®‑M0+.
Mikrokontroler STM32WL3x ngemot periferal radio RF sub-GHz sing cocog karo STMicroelectronics, dioptimalake kanggo konsumsi daya ultra-rendah lan kinerja radio sing apik banget, kanggo umur baterei sing ora ana tandhingane.
Cathetan: Arm minangka merek dagang kadhaptar saka Arm Limited (utawa anak perusahaan) ing AS lan/utawa ing papan liya.
Fitur utama STM32CubeWL3
- Paket STM32CubeWL3 MCU nganggo mikrokontroler STM32 32-bit adhedhasar prosesor Arm® Cortex®‑M0+. Iki nglumpukake, ing paket siji, kabeh komponen piranti lunak sing dipasang umum sing dibutuhake kanggo ngembangake aplikasi kanggo mikrokontroler lini produk STM32WL3x.
- Paket kasebut kalebu API lapisan rendah (LL) lan lapisan abstraksi hardware (HAL) sing nutupi hardware mikrokontroler, bebarengan karo set ekstensif examples mlaku ing papan STMicroelectronics. API HAL lan LL kasedhiya ing lisensi BSD sumber terbuka kanggo kenyamanan pangguna. Uga kalebu komponen middleware kernel Sigfox™, FatFS, lan FreeRTOS™.
- Paket STM32CubeWL3 MCU uga nyedhiyakake sawetara aplikasi lan demonstrasi sing ngetrapake kabeh komponen middleware.
- Tata letak komponen Paket STM32CubeWL3 MCU digambarake ing Gambar 1.
Gambar 1. Komponen Paket STM32CubeWL3 MCU
STM32CubeWL3 arsitektur liwatview
Solusi Paket STM32CubeWL3 MCU dibangun watara telung tingkat independen sing gampang sesambungan kaya sing diterangake ing Gambar 2. Tingkat 0
Tingkat iki dipérang dadi telung sublayers:
- Paket Dukungan Papan (BSP).
- Lapisan abstraksi hardware (HAL):
- driver periferal HAL
- Pembalap lapisan rendah
- Panggunaan periferal dhasar examples.
Paket Dukungan Papan (BSP)
Lapisan iki nawakake sakumpulan API sing ana gandhengane karo komponen hardware ing papan hardware (kayata LED, tombol, lan driver COM). Iku kasusun saka rong bagéan:
- Komponen:
Iki driver relatif kanggo piranti external ing Papan lan ora kanggo STM32. Driver komponen nyedhiyakake API khusus kanggo komponen eksternal driver BSP lan bisa uga portabel ing papan liyane. - Driver BSP:
Iki ngidini ngubungake driver komponen menyang papan tartamtu lan nyedhiyakake sakumpulan API sing ramah pangguna. Aturan penamaan API yaiku BSP_FUNCT_Action().
Example: BSP_LED_Init(), BSP_LED_On()
BSP adhedhasar arsitektur modular sing ngidini porting gampang ing piranti keras apa wae kanthi mung ngetrapake rutinitas tingkat rendah.
Lapisan abstraksi hardware (HAL) lan lapisan rendah (LL)
STM32CubeWL3 HAL lan LL minangka pelengkap lan nyakup macem-macem syarat aplikasi:
- Pembalap HAL nawakake API sing portabel sing berorientasi fungsi tingkat dhuwur. Dheweke ndhelikake MCU lan kerumitan periferal menyang pangguna pungkasan.
Pembalap HAL nyedhiyakake API berorientasi fitur multi-kaya umum, sing nyederhanakake implementasi aplikasi pangguna kanthi menehi proses sing siap digunakake. Kanggo example, kanggo peripheral komunikasi (I2C, UART, lan liya-liyane), menehi API ngidini initializing lan configuring peripheral, ngatur transfer data adhedhasar polling, interrupting, utawa proses DMA, lan nangani kesalahan komunikasi sing bisa njedhul sak komunikasi. API driver HAL dipérang dadi rong kategori:
- API umum, sing nyedhiyakake fungsi umum lan umum kanggo kabeh mikrokontroler seri STM32.
- API ekstensi, sing nyedhiyakake fungsi khusus lan khusus kanggo kulawarga tartamtu utawa nomer bagean tartamtu.
- API lapisan rendah nyedhiyakake API tingkat rendah ing tingkat registrasi, kanthi optimalisasi sing luwih apik nanging kurang portabilitas. Dheweke mbutuhake kawruh babagan MCU lan spesifikasi periferal.
Pembalap LL dirancang kanggo nawakake lapisan berorientasi ahli sing entheng cepet sing luwih cedhak karo hardware tinimbang HAL. Nalisir HAL, LL API ora kasedhiya kanggo peripheral ngendi akses optimized ora fitur tombol, utawa kanggo sing mbutuhake konfigurasi lunak abot utawa tumpukan tingkat ndhuwur Komplek.
Fitur driver LL:
- Sakumpulan fungsi kanggo miwiti fitur utama periferal miturut paramèter sing ditemtokake ing struktur data.
- Sakumpulan fungsi kanggo ngisi struktur data initialization kanthi nilai reset sing cocog karo saben lapangan.
- Fungsi kanggo de-inisialisasi periferal (register periferal dibalekake menyang nilai standar).
- Sakumpulan fungsi inline kanggo akses register langsung lan atom.
- Kamardikan lengkap saka HAL lan kemampuan kanggo digunakake ing mode mandiri (tanpa driver HAL).
- Jangkoan lengkap fitur periferal sing didhukung.
Panggunaan periferal dhasar examples
Lapisan iki nutupi mantanamples dibangun liwat peripheral STM32 mung nggunakake sumber HAL lan BSP.
Demonstrasi examples uga kasedhiya kanggo nuduhake ex liyane Komplekampskenario karo peripheral tartamtu, kayata MRSUBG lan LPAWUR.
Tingkat 1
Tingkat iki dipérang dadi rong sublayers:
- Komponen Middleware
- Examples adhedhasar komponen middleware
Komponen Middleware
Middleware minangka kumpulan perpustakaan sing nutupi kernel FreeRTOS™, FatFS, lan perpustakaan protokol Sigfox™. Interaksi horisontal antarane komponen lapisan iki ditindakake kanthi nelpon API sing ditampilake.
Interaksi vertikal karo pembalap lapisan kurang wis rampung liwat callbacks tartamtu lan macro statis dipun ginakaken ing antarmuka telpon sistem perpustakaan.
Fitur utama saben komponen middleware yaiku:
- Kernel FreeRTOS™: ngetrapake sistem operasi wektu nyata (RTOS), sing dirancang kanggo sistem sing dipasang.
- Sigfox™: ngleksanakake perpustakaan protokol Sigfox™ sing selaras karo jaringan protokol Sigfox™ lan kalebu perpustakaan protokol tes RF kanggo nyoba nglawan alat RF Sigfox™.
- FatFS: ngetrapake FAT umum file modul sistem.
Examples adhedhasar komponen middleware
Saben komponèn middleware nerangake karo siji utawa luwih examples, uga disebut aplikasi, nuduhake carane nggunakake. Integrasi examples sing nggunakake sawetara komponen middleware kasedhiya uga.
Paket firmware STM32CubeWL3 liwatview
Didhukung piranti lan hardware STM32WL3x
STM32Cube nawakake lapisan abstraksi hardware (HAL) portebel banget sing dibangun ing babagan arsitektur umum. Iki ngidini prinsip lapisan mbangun, kayata nggunakake lapisan middleware kanggo ngleksanakake fungsi tanpa ngerti, ing-ambane, apa MCU digunakake. Iki mbenakake reusability kode perpustakaan lan njamin portabilitas gampang kanggo piranti liyane.
- Kajaba iku, kanthi arsitektur berlapis, STM32CubeWL3 nawakake dhukungan lengkap kanggo kabeh lini produk STM32WL3x.
- Pangguna mung kudu nemtokake makro tengen ing stm32wl3x.h.
Tabel 1 nuduhake makro kanggo nemtokake gumantung ing piranti baris produk STM32WL3x digunakake. Makro iki uga kudu ditetepake ing preprocessor compiler.
Tabel 1. Makro kanggo lini produk STM32WL3x
Makro ditetepake ing stm32wl3x.h | STM32WL3x piranti lini produk |
stm32wl33 | Mikrokontroler STM32WL33xx |
STM32CubeWL3 fitur set sugih saka mantanamples lan aplikasi ing kabeh tingkat, supaya gampang mangertos lan nggunakake sembarang driver HAL utawa komponen middleware. Iki mantanamples mbukak ing papan STMicroelectronics kadhaptar ing Tabel 2.
Papan | Papan STM32WL3x piranti sing didhukung |
NUCLEO-WL33CC1 | STM32WL33CC |
NUCLEO-WL33CC2 | STM32WL33CC |
Paket STM32CubeWL3 MCU bisa mlaku ing piranti keras apa wae sing kompatibel. Pangguna mung nganyari driver BSP kanggo port sing kasedhiyaamples ing Papan, yen iki duwe fitur hardware padha (kayata LED utawa tombol).
Paket firmware rampungview
Solusi Paket STM32CubeWL3 MCU kasedhiya ing siji paket zip kanthi struktur sing ditampilake ing Gambar 3.
Gambar 3. Struktur paket firmware STM32CubeWL3
Ati-ati:
Pangguna ora kudu ngowahi komponen kasebut files. Pangguna mung bisa nyunting sumber \Projects.
Kanggo saben Papan, pesawat saka examples diwenehake karo proyek sing wis dikonfigurasi kanggo rantai alat EWARM, MDK-ARM, lan STM32CubeIDE.
Gambar 4 nuduhake struktur proyek kanggo papan NUCLEO-WL33CCx.
mantanamples diklasifikasikaké gumantung ing tingkat STM32CubeWL3 sing padha aplikasi kanggo. Padha dijenengi kaya ing ngisor iki:
- Level 0 examples diarani Examples, Examples_LL, lan Examples_MIX. Dheweke nggunakake driver HAL, driver LL, lan campuran driver HAL lan LL tanpa komponen middleware. Demonstrasi examples uga kasedhiya.
- Level 1 examples disebut Aplikasi. Padha nyedhiyakake kasus panggunaan khas saben komponen middleware.
Aplikasi perangkat kukuh apa wae kanggo papan tartamtu bisa digawe kanthi cepet nggunakake proyek cithakan sing kasedhiya ing direktori Templ ates lan Templates_LL.
Examples, Examples_LL, lan Examples_MIX duwe struktur sing padha:
- \Inc folder sing ngemot kabeh header files.
- \Src folder ngemot kode sumber.
- \EWARM, \MDK-ARM, lan \STM32CubeIDE folder ngemot project preconfigured kanggo saben toolchain.
- readme.md lan readme.html nggambarake mantanample prilaku lan lingkungan needed kanggo nggawe iku bisa.
Miwiti karo STM32CubeWL3
Mlaku mantan pisananample
Bagian iki nerangake carane prasaja iku kanggo mbukak mantan pisananample ing STM32CubeWL3. Iki digunakake minangka ilustrasi generasi pilihan LED prasaja sing mlaku ing papan NUCLEO-WL33CC1:
- Unduh Paket STM32CubeWL3 MCU.
- Unzip, utawa mbukak installer yen kasedhiya, menyang direktori sing dipilih.
- Priksa manawa ora kanggo ngowahi struktur paket ditampilake ing Figure 3. STM32CubeWL3 struktur paket perangkat kukuh. Elinga yen uga dianjurake kanggo nyalin paket ing lokasi cedhak volume ROOT (tegese C: \ ST utawa G: \ Tests), minangka sawetara IDE nemokke masalah nalika dalan dawa banget.
Carane mbukak mantan HALample
Sadurunge mbukak lan mbukak mantanample, iku banget dianjurake kanggo maca Exampaku maca file kanggo konfigurasi tartamtu.
- Telusuri menyang \Projects\NUCLEO-WL33CC\Examples.
- Bukak folder \GPIO, banjur \GPIO_EXTI.
- Bukak proyek kanthi toolchain sing disenengi. A cepet liwatview carane mbukak, mbangun, lan mbukak mantanample karo toolchains sing didhukung diwenehi ing ngisor iki.
- Mbangun maneh kabeh files lan mbukak gambar menyang memori target.
- Run mantanample. Kanggo rincian liyane, waca mantanampaku maca file.
Kanggo mbukak, mbangun, lan mbukak mantanampkaro saben toolchains sing didhukung, tindakake langkah ing ngisor iki:
- EWARM:
- Ing ngisor Examples, bukak subfolder \EWARM.
- Bukak ruang kerja Project.eww (jeneng ruang kerja bisa diganti saka siji example menyang liyane).
- Mbangun maneh kabeh files: [Proyek]> [Mbangun maneh kabeh].
- Muat gambar proyek: [Proyek]>[Debug].
- Jalankan program: [Debug]>[Go (F5)].
- MDK-ARM:
- Ing ngisor Examples, bukak subfolder \MDK-ARM.
- Bukak ruang kerja Project.uvproj (jeneng ruang kerja bisa diganti saka siji example menyang liyane).
- Mbangun maneh kabeh files: [Proyek]>[Mbangun maneh kabeh target files].
- Muat gambar proyek: [Debug]>[Start/Stop Debug Session].
- Jalankan program: [Debug]>[Run (F5)].
- STM32CubeIDE:
- Bukak toolchain STM32CubeIDE.
- Klik ing [File]>[Ganti Workspace]>[Liyane] banjur telusuri menyang direktori ruang kerja STM32CubeIDE.
- Klik ing [File]>[Import], pilih [General]>[Existing Projects into Workspace], banjur klik [Next].
- Telusuri direktori ruang kerja STM32CubeIDE lan pilih proyek kasebut.
- Mbangun maneh kabeh proyek files: Pilih project ing jendhela Project Explorer banjur klik ing
[Proyek]> [Mbangun proyek] menu. - Jalankan program: [Run]>[Debug (F11)].
Ngembangake aplikasi khusus
Nggunakake STM32CubeMX kanggo ngembangake utawa nganyari aplikasi
Ing Paket MCU STM32Cube, meh kabeh proyek examples kui karo alat STM32CubeMX kanggo initialize sistem, peripheral, lan middleware.
Panggunaan langsung saka proyek sing ana example saka alat STM32CubeMX mbutuhake STM32CubeMX 6.12.0 utawa luwih dhuwur:
- Sawise instalasi STM32CubeMX, bukak lan yen perlu nganyari proyek sing diusulake.
Cara paling gampang kanggo mbukak proyek sing wis ana yaiku klik kaping pindho ing *.ioc file supaya STM32CubeMX kanthi otomatis mbukak proyek lan sumbere files. STM32CubeMX ngasilake kode sumber inisialisasi proyek kasebut. - Kode sumber aplikasi utama ngemot komentar "KODE PENGGUNA BEGIN" lan "KODE PENGGUNA END". Yen pilihan lan setelan peripheral diowahi, STM32CubeMX nganyari bagean initialization saka kode nalika ngreksa kode sumber aplikasi utama.
Kanggo ngembangake proyek khusus nganggo STM32CubeMX, tindakake proses langkah demi langkah:
- Konfigurasi kabeh piranti lunak sing dibutuhake nggunakake solver konflik pinout, helper setelan jam-wit, kalkulator konsumsi daya, lan sarana sing nindakake konfigurasi periferal MCU (kayata GPIO utawa USART).
- Gawe kode C initialization adhedhasar konfigurasi sing dipilih. Kode iki siap digunakake ing sawetara lingkungan pangembangan. Kode pangguna disimpen ing generasi kode sabanjure.
Kanggo informasi luwih lengkap babagan STM32CubeMX, waca manual pangguna STM32CubeMX kanggo konfigurasi STM32 lan wiwitan kode C generasi (UM1718).
Aplikasi driver
aplikasi HAL
Bagean iki nerangake langkah-langkah sing dibutuhake kanggo nggawe aplikasi HAL khusus nggunakake STM32CubeWL3:
- Nggawe proyek
Kanggo nggawe proyek anyar, miwiti saka proyek Cithakan sing kasedhiya kanggo saben papan ing \Projects\< STM32xxx_yyy>\Templates utawa saka proyek sing kasedhiya ing \Projects\ \Exampl utawa \Proyek\ \Aplikasi (ngendi nuduhake jeneng papan). Proyek Cithakan nyedhiyakake fungsi loop utama kosong. Nanging, iku titik wiwitan apik kanggo ngerti setelan project STM32CubeWL32. Cithakan nduweni ciri ing ngisor iki:- Isine kode sumber HAL, CMSIS, lan driver BSP, yaiku set komponen minimal sing dibutuhake kanggo ngembangake kode ing papan tartamtu.
- Isine dalan sing kalebu kanggo kabeh komponen perangkat kukuh.
- Iki nemtokake piranti lini produk STM32WL3x sing didhukung, ngidini driver CMSIS lan HAL dikonfigurasi kanthi bener.
- Iki nyedhiyakake pangguna sing siap digunakake files preconfigured minangka ditampilake ing ngisor iki:
- HAL diwiwiti kanthi basis wektu standar kanthi inti Arm® SysTick.
- SysTick ISR dileksanakake kanggo HAL_Delay () waé.
Cathetan: Nalika nyalin proyek sing wis ana menyang lokasi liya, priksa manawa kabeh dalan sing kalebu dianyari.
- Konfigurasi komponen perangkat kukuh
Komponen HAL lan middleware nawakake pilihan konfigurasi wektu mbangun nggunakake macro #define sing diumumake ing header file. A konfigurasi Cithakan file kasedhiya ing saben komponen, sing kudu disalin menyang folder proyek (biasane konfigurasi file dijenengi xxx_conf_template.h, fragmen _template kudu dibusak nalika nyalin menyang folder project). Konfigurasi file menehi informasi cukup kanggo ngerti impact saben pilihan konfigurasi. Informasi sing luwih rinci kasedhiya ing dokumentasi sing kasedhiya kanggo saben komponen. - Miwiti perpustakaan HAL
Sawise mlumpat menyang program utama, kode aplikasi kudu nelpon HAL_Init () API kanggo miwiti perpustakaan HAL, sing nindakake tugas ing ngisor iki:- Konfigurasi memori lampu kilat prefetch lan SysTick ngganggu prioritas (liwat macro ditetepake ing stm3 2wl3x_hal_conf.h).
- Konfigurasi SysTick kanggo generate interrupt saben milidetik ing SysTick ngganggu prioritas TICK_INT_PRIO ditetepake ing stm32wl3x_hal_conf.h.
- Setelan prioritas grup NVIC dadi 0.
- Panggilan fungsi panggilan balik HAL_MspInit() ditetepake ing pangguna stm32wl3x_hal_msp.c file kanggo nindakake initializations hardware tingkat rendah global.
- Konfigurasi jam sistem
Konfigurasi jam sistem ditindakake kanthi nelpon loro API sing diterangake ing ngisor iki:- HAL_RCC_OscConfig (): API iki ngatur osilator internal lan eksternal. Pangguna milih kanggo ngatur siji utawa kabeh osilator.
- HAL_RCC_ClockConfig (): API iki ngatur sumber jam sistem, latensi memori lampu kilat, lan prescalers AHB lan APB.
- Initialize peripheral
- Pisanan nulis fungsi inisialisasi periferal. Terusake kaya ing ngisor iki:
- Aktifake jam periferal.
- Konfigurasi GPIOs periferal.
- Ngatur saluran DMA lan ngaktifake gangguan DMA (yen perlu).
- Aktifake interupsi periferal (yen perlu).
- Sunting stm32xxx_it.c kanggo nelpon handler interrupt sing dibutuhake (peripheral lan DMA), yen perlu.
- Nulis fungsi callback lengkap proses yen ngganggu periferal utawa DMA temenan kanggo digunakake.
- Ing pangguna utama.c file, initialize struktur nangani peripheral banjur nelpon fungsi initialization peripheral kanggo initialize peripheral.
- Ngembangake aplikasi
Ing stage, sistem wis siyap lan pangembangan kode aplikasi pangguna bisa diwiwiti.
HAL nyedhiyakake API sing intuisi lan siap digunakake kanggo ngatur periferal. Ndhukung polling, interrupts, lan model pemrograman DMA, kanggo nampung syarat aplikasi. Kanggo rincian liyane babagan carane nggunakake saben peripheral, waca mantan sugihample set kasedhiya ing STM32CubeWL3 MCU Paket.
Ati-ati:
Ing implementasine HAL standar, timer SysTick digunakake minangka timebase: iku ngasilake interrupts ing interval wektu biasa. Yen HAL_Delay () diarani saka proses ISR peripheral, priksa manawa SysTick interrupt duwe prioritas sing luwih dhuwur (numerically luwih murah) tinimbang interrupt peripheral. Yen ora, proses ISR panelpon
diblokir. Fungsi sing mengaruhi konfigurasi timebase diumumake minangka __weak supaya bisa diganti yen ana implementasi liyane ing pangguna file (nggunakake timer tujuan umum, contoneample, utawa sumber wektu liyane).
Kanggo rincian liyane, waca HAL_TimeBase example.
Aplikasi LL
Bagean iki nerangake langkah-langkah sing dibutuhake kanggo nggawe aplikasi LL khusus nggunakake STM32CubeWL3.
- Nggawe proyek
Kanggo nggawe proyek anyar, miwiti saka proyek Templates_LL sing kasedhiya kanggo saben papan ing \Projects\ \Templates_LL utawa saka proyek sing kasedhiya ing \Projects\ \E xampkurang_LL ( nuduhake jeneng papan, kayata NUCLEO-WL32CC33).
Proyek Cithakan menehi fungsi daur ulang utama kosong, kang titik wiwitan apik kanggo ngerti setelan project kanggo STM32CubeWL3. Karakteristik utama template yaiku ing ngisor iki:- Isine kode sumber driver LL lan CMSIS, yaiku set komponen minimal sing dibutuhake kanggo ngembangake kode kasebut ing papan tartamtu.
- Isine dalan sing kalebu kanggo kabeh komponen perangkat kukuh sing dibutuhake.
- Milih piranti baris produk STM32WL3x sing didhukung lan ngidini konfigurasi sing bener saka driver CMSIS lan LL.
- Iki nyedhiyakake pangguna sing siap digunakake files sing wis dikonfigurasi kaya ing ngisor iki:
- main.h: LED lan USER_BUTTON definisi lapisan abstraksi.
- main.c: Konfigurasi jam sistem kanggo frekuensi maksimum.
- Port LL example:
- Salin / tempel folder Templates_LL - kanggo njaga sumber wiwitan - utawa langsung nganyari proyek Templa tes_LL sing wis ana.
- Banjur, porting utamane kanggo ngganti Templates_LL files dening Examples_LL diangkah proyek.
- Tansah kabeh bagean tartamtu Papan. Kanggo alasan kajelasan, papan bagean tartamtu sing gendero karo tartamtu tags:
Mangkono, langkah-langkah porting utama yaiku ing ngisor iki:
- Ganti stm32wl3x_it.h file.
- Ganti stm32wl3x_it.c file.
- Ganti utama.h file lan nganyari: Tansah definisi tombol LED lan pangguna saka cithakan LL ing KONFIGURASI SPESIFIK PAPAN tags.
- Ganti sing utama.c file lan nganyari:
- Tansah konfigurasi jam fungsi cithakan SystemClock_Config() LL ing KONFIGURASI SPESIFIK PAPAN tags.
- Gumantung ing definisi LED, ngganti saben kedadeyan LDx karo LDy liyane kasedhiya ing file utama.h.
Kanthi modifikasi kasebut, mantanample mlaku ing Papan diangkah.
Aplikasi RF, demonstrasi, lan examples
Macem-macem jinis aplikasi RF, demonstrasi, lan examples kasedhiya ing paket STM32CubeWL3. Padha kapacak ing rong bagean ing ngisor iki.
Sub-GHz examples lan demonstrasi
Iki mantanamples nduduhake fitur utama peripheral radio MRSUBG lan LPAWUR. Iki mantanamples kasedhiya ing:
- Projects\NUCLEO-WL33CC\Examples\MRSUBG
- Projects\NUCLEO-WL33CC\Examples\LPAWUR
- Projects\NUCLEO-WL33CC\Demonstrasi\MRSUBG
- Projects\NUCLEO-WL33CC\Demonstrations\LPAWUR
Saben mantanample utawa demonstrasi umume kasusun saka rong program sing disebut Tx lan Rx minangka pemancar lan panrima, masing-masing:
- Examples/MRSUBG
- MRSUBG_802_15_4: implementasine saka lapisan fisik ditetepake dening standar 802.15.4. Iku nuduhake carane ngatur radio kanggo ngirim utawa nampa 802.15.4 paket.
- MRSUBG_BasicGeneric: Ijol-ijolan paket dhasar STM32WL3x MR_SUBG.
- MRSUBG_Chat: Aplikasi prasaja sing nuduhake carane nggunakake Tx lan Rx ing piranti sing padha.
- MRSUBG_DatabufferHandler: Example sing nuduhake carane ngganti saka Databuffer 0 lan 1.
- MRSUBG_Sequencer AutoAck: Example sing ngirim lan nampa packet acknowledgements (ACKs) otomatis.
- MRSUBG_WMBusSTD: Ijol-ijolan pesen WM-Bus.
- WakeupRadio: Mantanample kanggo nyoba peripheral radio LPAWUR.
- Demonstrasi / MRSUBG
- MRSUBG_RTC_Button_TX: Iki example nuduhake carane nyetel SoC ing mode mandeg jero lan ngatur MRSUBG kanggo tangi SoC kanthi mencet PB2 kanggo ngirim pigura utawa sawise RTC wektu kadaluwarsa.
- MRSUBG_Sequencer_Sniff: Iki mantanample nuduhake carane nyetel sequencer MRSUBG kanggo operate ing mode sniff. Mantan ikiample nduduhake sisih panrima lan mbutuhake piranti liyane minangka pemancar.
- MRSUBG_Timer: Aplikasi njadwalake sawetara wektu MRSUBG (kanthi autoreload) kanthi interval wektu sing beda.
- MRSUBG_WakeupRadio_Tx: Iki mantanample nerangake carane nyetel SoC ing mode mandeg jero lan ngatur MRSUBG kanggo tangi SoC kanthi mencet PB2 kanggo ngirim pigura. Mantan ikiample nduduhake sisih pemancar lan mbutuhake piranti liyane minangka panrima LPAWUR. Penerima example dumunung ing NUCLEO-WL33CC\Demonstrations\LPAWUR\LPAWUR_WakeupRad io_Rx folder.
- Demonstrasi/LPAWUR
- LPAWUR_WakeupRadio_Rx: Iki mantanample nerangake carane nyetel SoC ing mode mandeg jero lan ngatur LPAWUR kanggo tangi SoC nalika pigura teka lan bener ditampa. mantan ikiample nduduhake sisih panrima lan mbutuhake piranti liyane minangka pemancar. Pemancar example dumunung ing NUCLEO-WL33CC\Demonstrations\MRSUBG\MRSUBG_WakeupRad io_Tx folder.
Aplikasi Sigfox™
Aplikasi iki nuduhake carane ngetrapake skenario Sigfox™ lan nggunakake API Sigfox™ sing kasedhiya. Padha kasedhiya ing path project Projects\NUCLEO-WL33CC\Applications\Sigfox\:
- Sigfox_CLI: Aplikasi iki nuduhake carane nggunakake antarmuka baris perintah (CLI) kanggo ngirim printah sing nggunakake protokol Sigfox™ kanggo ngirim pesen lan nindakake tes prasertifikasi.
- Sigfox_PushButton: Aplikasi iki ngidini evaluasi kemampuan radio piranti STM32WL33xx Sigfox™. Pencet PB1 ngirimake pigura tes Sigfox™.
FAQ
- Nalika aku kudu nggunakake HAL tinimbang driver LL?
Pembalap HAL nawakake API tingkat dhuwur lan berorientasi fungsi, kanthi portabilitas sing dhuwur. Kerumitan produk utawa peripheral didhelikake kanggo pangguna pungkasan.
Pembalap LL nawakake API tingkat registrasi lapisan rendah, kanthi optimalisasi sing luwih apik nanging kurang portabel. Dheweke mbutuhake kawruh sing jero babagan spesifikasi produk utawa IP. - Apa driver HAL lan LL bisa digunakake bebarengan? Yen ya, apa kendala?
Sampeyan bisa nggunakake driver HAL lan LL. Gunakake HAL kanggo fase initialization periferal banjur atur operasi I/O karo driver LL.
Bentenane utama antarane HAL lan LL yaiku pembalap HAL kudu nggawe lan nggunakake gagang kanggo manajemen operasi nalika pembalap LL beroperasi langsung ing register periferal. Nyampur HAL lan LL digambarake ing Examples_MIX examples. - Kepiye carane API inisialisasi LL diaktifake?
Dhéfinisi API inisialisasi LL lan sumber daya sing gegandhèngan (struktur, literal, lan prototipe) dikondisikan déning switch kompilasi USE_FULL_LL_DRIVER.
Kanggo bisa nggunakake API initialization LL, nambah switch iki ing preprocessor kompiler toolchain. - Apa ana proyek cithakan kanggo MRSUBG/LPAWUR peripheral examples?
Kanggo nggawe MRSUBG utawa LPAWUR ex anyarampproyek kasebut, diwiwiti saka proyek kerangka sing diwenehake ing \Pr ojects\NUCLEO-WL33CC\Examples\MRSUBG utawa \Projects\NUCLEO-WL33CC\Examples\LPAWUR, utawa saka proyek sing kasedhiya ing direktori sing padha. - Kepiye carane STM32CubeMX bisa ngasilake kode adhedhasar piranti lunak sing dipasang?
STM32CubeMX duwe kawruh sing dibangun ing mikrokontroler STM32, kalebu peripheral lan piranti lunak, sing ngidini menehi perwakilan grafis kanggo pangguna lan ngasilake *.h utawa *.c files adhedhasar konfigurasi pangguna.
Riwayat revisi
Tabel 3. Riwayat revisi dokumen
Tanggal | Revisi | Owah-owahan |
29-Mar-2024 | 1 | Rilis wiwitan. |
30-Okt-2024 | 2 | Integrasi lengkap saka STM32CubeWL3 in STM32 Cube. Dianyari:
Dibusak:
|
Dokumen / Sumber Daya
![]() |
Paket Software ST STM32WL3x [pdf] Pandhuan Paket Software STM32WL3x, STM32WL3x, Paket Software, Paket |