Ngwugwu ngwanrọ STM32WL3x
Nkọwapụta
- Aha ngwaahịa: ngwugwu ngwanrọ STM32CubeWL3
- ndakọrịta: STM32WL3x microcontrollers
- Isi atụmatụ:
- API dị ala (LL) na oyi akwa abstraction ngwaike (HAL).
- SigfoxTM, FatFS, na FreeRTOSTM kernel middleware components
- Ngwa na ihe ngosi
Ntuziaka ojiji ngwaahịa
Na-amalite
Iji malite iji ngwungwu ngwanrọ STM32CubeWL3, soro usoro ndị a:
- Budata ngwungwu ngwanrọ n'aka onye ọrụ gọọmentị websaịtị.
- Wụnye gburugburu mmepe dị mkpa (dịka STM32CubeIDE, EWARM, MDK-ARM).
- Tụtụ aka na examples na ngwa enyere maka nduzi.
STM32CubeWL3 Architecture Overview
Ewubere ngwugwu ngwanrọ STM32CubeWL3 gburugburu ọkwa atọ bụ isi
- Ọkwa 0: Ihe oyi akwa abstraction nke ngwaike (HAL) na ndị ọkwọ ụgbọ ala BSP.
- Ọkwa 1: Ngwa, ọba akwụkwọ na ihe ndị dabere na protocol.
Ajụjụ A na-ajụkarị (FAQ)
Ajụjụ: Gịnị bụ isi atụmatụ nke ngwugwu ngwanrọ STM32CubeWL3?
A: Isi ihe gụnyere obere oyi akwa na HAL API, ihe ndị dị n'etiti dị ka SigfoxTM, FatFS, FreeRTOSTM kernel, ngwa, na ihe ngosi.
Okwu mmalite
STM32Cube bụ ihe mbụ STMicroelectronics iji kwalite mmepụta mmepụta nke ọma site na ibelata mbọ mmepe, oge na ọnụ ahịa. STM32Cube na-ekpuchi Pọtụfoliyo STM32 niile.
STM32Cube gụnyere:
- Otu ngwa ọrụ mmepe sọftụwia enyi na enyi iji kpuchie mmepe oru ngo site n'echiche ruo na mmezu, n'etiti] ndị bụ:
- STM32CubeMX, ngwa nhazi ngwanrọ eserese nke na-enye ohere ịmepụta koodu mmalite C na-akpaghị aka site na iji wizards eserese.
- STM32CubeIDE, ngwa ọrụ mmepe niile nwere nhazi mpaghara, ọgbọ koodu, nchịkọta koodu, yana atụmatụ nbipu.
- STM32CubeCLT, ngwa ọrụ mmepe iwu na-enye ihe niile nwere mkpokọta koodu, mmemme bọọdụ, yana njiri nbipu.
- STM32CubeProgrammer (STM32CubeProg), ngwa mmemme dị na ụdị eserese na ahịrị iwu.
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), ngwaọrụ nleba anya dị ike iji mezie omume na arụmọrụ nke ngwa STM32 ozugbo.
- Ngwunye STM32Cube MCU na MPU, nyiwe ngwanrọ agbakwunyere zuru oke maka usoro microcontroller ọ bụla na usoro microprocessor (dị ka STM32CubeWL3 maka ahịrị ngwaahịa STM32WL3x), nke gụnyere:
- STM32Cube ngwaike abstraction oyi akwa (HAL), na-agba mbọ na-ebuwanye ibu n'ofe Pọtụfoliyo STM32.
- STM32Cube API obere oyi akwa, na-ahụ na arụmọrụ kacha mma na akara ukwu na njikwa njikwa dị elu] ngwaike.
- Otu ihe na-agbanwe agbanwe nke ihe etiti dị ka FreeRTOS™ kernel, FatFS, na Sigfox™
- Ngwa ngwa ngwa niile agbakwunyere nwere usoro mpụta na ngwa examples
- Ngwungwu Mgbasawanye STM32Cube, nke nwere akụrụngwa sọftụwia agbakwunyere na-emeju arụmọrụ nke STM32Cube MCU na ngwugwu MPU nwere:
-
- Middleware ndọtị na ngwa n'ígwé
- Examples na-agba ọsọ na ụfọdụ bọọdụ mmepe STMicroelectronics akọwapụtara
Akwụkwọ ntuziaka onye ọrụ na-akọwa otu esi ebido na ngwugwu STM32CubeWL3 MCU.
Nkeji 2 na-akọwa njirimara bụ isi nke STM32CubeWL3 na Nkebi 3 na-enye ihe karịrịview nke ihe owuwu ya na nke nhazi ngwugwu MCU.
ozi izugbe
STM32CubeWL3 na-arụ ngwa ngosi sub-GHz, gụnyere ọnụọgụ abụọ Sigfox™, na microcontrollers ngwaahịa ngwaahịa STM32WL3x dabere na ihe nrụpụta Arm® Cortex®‑M0+.
Ndị na-ahụ maka microcontrollers STM32WL3x tinyere STMicroelectronics steeti ọgbara ọhụrụ nke sub-GHz na-akwado RF redio peripheral, ahaziri maka oriri ike dị ala yana ọmarịcha arụmọrụ redio, maka oge ndụ batrị enweghị atụ.
Rịba ama: Arm bụ ụghalaahịa edenyere n'akwụkwọ ikikere nke Arm Limited (ma ọ bụ ndị enyemaka ya) na US na/ma ọ bụ ebe ọzọ.
STM32CubeWL3 isi atụmatụ
- Ihe ngwugwu STM32CubeWL3 MCU na-arụ na STM32 32-bit microcontrollers dabere na Arm® Cortex®‑M0+ processor. Ọ na-achịkọta, n'otu ngwugwu, ngwa sọftụwia niile agbakwunyere chọrọ iji mepụta ngwa maka microcontrollers ngwaahịa STM32WL3x.
- Ngwungwu ahụ gụnyere API dị ala (LL) na oyi akwa abstraction ngwaike (HAL) nke na-ekpuchi ngwaike microcontroller, yana ọtụtụ ụdị ex.amples na-agba ọsọ na bọọdụ STMicroelectronics. HAL na LL API dị na ikikere BSD mepere emepe maka ịdị mma onye ọrụ. Ọ gụnyekwara Sigfox™, FatFS, na FreeRTOS™ kernel middleware components.
- Ihe ngwugwu STM32CubeWL3 MCU na-enyekwa ọtụtụ ngwa na ihe ngosi na-emejuputa ihe mejupụtara etiti ya niile.
- E gosipụtara okirikiri nhọrọ ukwuu ngwugwu STM32CubeWL3 MCU na eserese 1.
Ọgụgụ 1. Ihe ngwugwu STM32CubeWL3 MCU
STM32CubeWL3 ije n'eluview
A na-ewu ihe ngwugwu STM32CubeWL3 MCU gburugburu ọkwa atọ nọọrọ onwe ya na-emekọrịta ihe n'ụzọ dị mfe dịka akọwara na eserese 2. Ọkwa 0
E kewara ọkwa a ụzọ atọ:
- Ngwungwu nkwado bọọdụ (BSP).
- oyi akwa abstraction ngwaike (HAL):
- HAL ndị ọkwọ ụgbọ ala
- Ndị ọkwọ ụgbọ ala dị ala
- Ihe eji eme ihe n'akụkụ examples.
Ngwungwu nkwado bọọdụ (BSP)
Igwe oyi akwa a na-enye usoro API n'akụkụ akụkụ ngwaike dị na bọọdụ ngwaike (dị ka LEDs, bọtịnụ, na ndị ọkwọ ụgbọ ala COM). Ọ bụ akụkụ abụọ mejupụtara ya:
- Akụkụ:
Nke a bụ onye ọkwọ ụgbọ ala metụtara ngwaọrụ mpụga na bọọdụ ọ bụghị na STM32. Ọkwọ ụgbọala akụrụngwa na-enye API kpọmkwem na mpaghara ndị ọkwọ ụgbọ ala BSP ma nwee ike ibugharị na bọọdụ ọ bụla ọzọ. - Onye ọkwọ ụgbọ ala BSP:
Ọ na-enye ohere ijikọ ndị ọkwọ ụgbọ ala na otu bọọdụ ma na-enye otu API enyi na enyi. Iwu API ịkpọ aha bụ BSP_FUNCT_Action().
Example: BSP_LED_Init(), BSP_LED_On()
BSP dabere na ihe owuwu modular na-enye ohere ibufe ngwaike ọ bụla na ngwaike ọ bụla site n'imejuputa usoro dị ala.
oyi akwa abstraction ngwaike (HAL) na obere oyi akwa (LL)
STM32CubeWL3 HAL na LL bụ nkwado ma kpuchie ọtụtụ ngwa chọrọ:
- Ndị ọkwọ ụgbọ ala HAL na-enye API ndị nwere ike ibugharị ọrụ dị elu. Ha na-ezochi MCU na mgbagwoju anya na onye ọrụ njedebe.
Ndị ọkwọ ụgbọ ala HAL na-enye API nwere ọtụtụ ihe atụ, nke na-eme ka mmejuputa ngwa onye ọrụ dị mfe site n'inye usoro njikere iji. Maka example, maka mpaghara nkwurịta okwu (I2C, UART, na ndị ọzọ), ọ na-enye API na-enye ohere ịmalite na ịhazi mpaghara, ijikwa nnyefe data dabere na ntuli aka, nkwụsịtụ, ma ọ bụ usoro DMA, na ijikwa njehie nkwurịta okwu nwere ike ibili n'oge nkwurịta okwu. E kewara ndị ọkwọ ụgbọ ala HAL ụzọ abụọ:
- API jeneriki, nke na-enye ọrụ nkịtị na nke ọnyà nye usoro microcontrollers niile nke STM32.
- API ndọtị, nke na-enye ọrụ akọwapụtara na ahaziri maka otu ezinụlọ ma ọ bụ nọmba akụkụ akọwapụtara.
- API ndị dị ala na-enye API dị ala n'ọkwa ndebanye aha, na-enwe njikarịcha ka mma mana obere ibugharị. Ha chọrọ ihe ọmụma miri emi nke MCU na nkọwapụta mpaghara.
Emebere ndị ọkwọ ụgbọ ala LL ka ha nye oyi akwa ọkachamara dabere n'ịdị arọ nke dị nso na ngwaike karịa HAL. N'adịghị ka HAL, LL API adịghị enye maka mpụta ebe ohere kachasị na-abụghị akụkụ bụ isi, ma ọ bụ maka ndị chọrọ nhazi ngwanrọ siri ike ma ọ bụ nchịkọta ọkwa dị elu dị mgbagwoju anya.
Ndị ọkwọ ụgbọ ala LL nwere:
- Otu ọrụ iji bido atụmatụ ndị dị n'akụkụ dịka oke akọwapụtara na nhazi data.
- Otu ọrụ iji mejupụta nhazi data mmalite yana ụkpụrụ nrụpụta dabara na mpaghara ọ bụla.
- Ọrụ maka mwepu de-initialization (akwụkwọ ndekọ mpaghara eweghachiri na ụkpụrụ ndabara ha).
- Ntọala nke inline maka ịnweta ndebanye aha ozugbo na atọm.
- Nnwere onwe zuru oke site na HAL yana ikike enwere ike iji ya na ọnọdụ kwụ ọtọ (na-enweghị ndị ọkwọ ụgbọ ala HAL).
- Mkpuchi zuru oke nke njirimara mpụta akwadoro.
Ihe eji eme ihe n'akụkụ examples
Nke a oyi akwa na-emechi examples wuru n'elu STM32 peripherals na-eji naanị HAL na BSP akụrụngwa.
Ngosipụta examples dịkwa iji gosi mgbagwoju anya examplescenarios nwere akụkụ dị iche iche, dị ka MRSUBG na LPAWUR.
Ọkwa 1
E kewara ọkwa a ụzọ abụọ:
- Akụkụ nke Middleware
- Examples dabere na middleware components
Akụkụ nke Middleware
Middleware bụ ọba akwụkwọ kpuchiri FreeRTOS™ kernel, FatFS, na Sigfox™ protocol ọba akwụkwọ. A na-eme mmekọrịta kwụ ọtọ n'etiti akụkụ nke oyi akwa a site n'ịkpọ API ndị egosipụtara.
A na-eme mkparịta ụka kwụ ọtọ na ndị ọkwọ ụgbọ ala dị ala site na ịkpọghachi azụ azụ na macros static etinyere na interface oku nke ọba akwụkwọ.
Akụkụ bụ isi nke akụrụngwa middleware ọ bụla bụ ndị a:
- FreeRTOS™ kernel: na-emejuputa sistemu arụ ọrụ ozugbo (RTOS), emebere maka sistemu agbakwunyere.
- Sigfox™: na-emejuputa ọbá akwụkwọ protocol Sigfox™ kwekọrọ na netwọkụ Sigfox™ ma gụnye ọba akwụkwọ nyocha protocol RF iji nwalee megide ngwaọrụ RF Sigfox™.
- FatFS: na-arụ ọrụ nke FAT file usoro modul.
Examples dabere na middleware components
Ngwa etiti ọ bụla na-abịa na otu ma ọ bụ karịa examples, nke a na-akpọ ngwa, na-egosi otu esi eji ya. Mmekọrịta exampA na-enyekwa ihe ndị na-eji ọtụtụ ihe etiti.
Ngwugwu firmware STM32CubeWL3 gafereview
Ngwa na ngwaike STM32WL3x kwadoro
STM32Cube na-enye oyi akwa abstraction ngwaike nwere ike ibugharị nke ukwuu (HAL) nke e wuru gburugburu ihe owuwu ụlọ. Ọ na-enye ohere ụkpụrụ iwulite n'elu, dị ka iji etiti etiti iji mejuputa ọrụ ha n'amaghị, n'ime omimi, ihe MCU na-eji. Nke a na-emezigharị koodu ọba akwụkwọ mma ma na-eme ka ọ dị mfe mbugharị na ngwaọrụ ndị ọzọ.
- Na mgbakwunye, site na nhazi ụlọ ya, STM32CubeWL3 na-enye nkwado zuru oke maka ahịrị ngwaahịa STM32WL3x niile.
- Onye ọrụ ga-akọwapụta naanị nnukwu macro ziri ezi na stm32wl3x.h.
Tebụl 1 na-egosi nnukwu iji kọwapụta dabere na ngwaọrụ ahịrị ngwaahịa STM32WL3x ejiri. A ga-akọwakwa nnukwu macro a na onye na-ebu ụzọ nhazi.
Tebụl 1. Macros maka ahịrị ngwaahịa STM32WL3x
Macro kọwara na stm32wl3x.h | Ngwa ahịrị ngwaahịa STM32WL3x |
stm32wl33 | STM32WL33xx microcontrollers |
STM32CubeWL3 nwere ọtụtụ ụdị examples na ngwa na ọkwa niile, na-eme ka ọ dị mfe nghọta na iji ihe ọkwọ ụgbọ ala HAL ọ bụla ma ọ bụ ihe etiti. Ndị a bụ examples na-agba ọsọ na bọọdụ STMicroelectronics edepụtara na Tebụl 2.
bọọdụ | Ngwaọrụ akwadoro bọọdụ STM32WL3x |
NUCLO-WL33CC1 | STM32WL33CC |
NUCLO-WL33CC2 | STM32WL33CC |
Ihe ngwugwu STM32CubeWL3 MCU nwere ike ịgba ọsọ na ngwaike ọ bụla dakọtara. Ndị ọrụ na-emelite ndị ọkwọ ụgbọ ala BSP n'ọdụ ụgbọ mmiri ex nyereamples na mbadamba ha, ma ọ bụrụ na ndị a nwere otu njirimara ngwaike (dị ka LED ma ọ bụ bọtịnụ).
Ngwungwu firmware agwụlaview
A na-enye ngwọta ngwugwu STM32CubeWL3 MCU n'otu ngwugwu zip nwere nhazi nke egosiri na eserese 3.
Ọgụgụ 3. STM32CubeWL3 firmware ngwugwu Ọdịdị
Ịkpachara anya:
Onye ọrụ agaghị agbanwe ihe mejupụtara ya files. Naanị onye ọrụ nwere ike dezie isi mmalite \ Projects.
Maka bọọdụ ọ bụla, otu exampA na-enye les na ọrụ ahaziri ahazi maka EWARM, MDK-ARM, na STM32CubeIDE toolchains.
Ọgụgụ 4 na-egosi nhazi ọrụ maka bọọdụ NUCLO-WL33CCx.
The exampA na-ekewa les dabere na ọkwa STM32CubeWL3 ha na-etinye na ya. Akpọrọ ha aha dịka ndị a:
- Ọkwa 0 examples ka a na-akpọ Examples, Ọpụamples_LL, na Examples_MIX. Ha na-eji ndị ọkwọ ụgbọ ala HAL, ndị ọkwọ ụgbọ ala LL, yana ngwakọta nke ndị ọkwọ ụgbọ ala HAL na LL na-enweghị akụrụngwa etiti. Ngosipụta examples dịkwa.
- Ọkwa 1 examples ka a na-akpọ Ngwa. Ha na-enye ikpe eji eme ihe nke akụrụngwa etiti ọ bụla.
Enwere ike wuo ngwa ngwa ngwa ọ bụla maka bọọdụ enyere ngwa ngwa site na iji ọrụ ndebiri dị na akwụkwọ ndekọ aha Templ ates na Templates_LL.
Examples, Ọpụamples_LL, na Examples_MIX nwere otu nhazi:
- \ Inc nchekwa nwere nkụnye eji isi mee niile files.
- \ folda Src nwere koodu isi mmalite.
- EWARM, \ MDK-ARM, na \ STM32CubeIDE nchekwa nwere ihe arụrụ arụrụ arụrụ n'ọrụ maka ngwa ọrụ ọ bụla.
- readme.md na readme.html na-akọwa example omume na mkpa gburugburu ebe obibi ime ka ọ na-arụ ọrụ.
Malite na STM32CubeWL3
Na-agba ọsọ example
Akụkụ a na-akọwa otú ọ dị mfe ịgba ọsọ mbụample n'ime STM32CubeWL3. Ọ na-eji dị ka ihe atụ ọgbọ nke dị mfe LED toggle na-agba ọsọ na NUCLO-WL33CC1 osisi:
- Budata ngwugwu STM32CubeWL3 MCU.
- Wepụ ya, ma ọ bụ mee ihe installer ma ọ bụrụ na enyere ya, n'ime ndekọ aha nke nhọrọ gị.
- Jide n'aka na ị gaghị agbanwe nhazi ngwugwu egosiri na Figure 3. STM32CubeWL3 ngwugwu ngwugwu firmware. Rịba ama na a na-atụ aro ka idetuo ngwugwu ahụ n'ebe dị nso na mgbọrọgwụ olu (nke pụtara C: \ ST ma ọ bụ G: \ Tests), dịka ụfọdụ IDE na-enwe nsogbu mgbe ụzọ ahụ dị ogologo.
Otu esi agba HAL example
Tupu itinye na ịgba ọsọ example, a na-atụ aro ka ị gụọ example gụọ file maka nhazi ọ bụla akọwapụtara.
- Chọgharịa na \Projects\NUCLEO-WL33CCExamples.
- Mepee folda \ GPIO, wee mechaa \ GPIO_EXTI nchekwa.
- Mepee oru ngo a site na iji ngwa ngwa masịrị. A ngwa ngwa gafereview maka otu esi emepe, wuo na ịgba ọsọ exampA na-enye le na ụgbụ ngwá ọrụ akwadoro n'okpuru.
- wughachi ihe niile files wee buo ya onyonyo n'ime ebe nchekwa ebumnuche.
- Gbaa example. Maka nkọwa ndị ọzọ, rụtụ aka na example gụọ file.
Ka imepee, wuo ma gbaa exampJiri nke ọ bụla n'ime ụdọ ngwaọrụ akwadoro, soro usoro ndị a n'okpuru:
- EWARM:
- N'okpuru Examples nchekwa, mepee folda nchekwa EWARM.
- Mepee ebe ọrụ Project.eww (aha ebe ọrụ nwere ike ịgbanwe site na otu examplekwa onye ozo).
- wughachi ihe niile files: [Project]>[ wughachi ihe niile].
- Bujuo onyonyo oru ngo: [Project]>[Mbipu].
- Gbaa mmemme ahụ: [Mbipụta]>[Gaa (F5)].
- MDK-ARM:
- N'okpuru Examples nchekwa, mepee folda nchekwa \ MDK-ARM.
- Mepee ebe ọrụ Project.uvproj (aha ebe ọrụ nwere ike ịgbanwe site na otu examplekwa onye ozo).
- wughachi ihe niile files: [Project]>[Weghachite ebumnuche niile files].
- Bujuo onyonyo oru ngo: [Mbipu]>[Mmalite/Kwụsị Oge Mmebi].
- Gbaa mmemme ahụ: [Mbipụta]>[Gbaa (F5)].
- STM32CubeIDE:
- Mepee eriri ngwaọrụ STM32CubeIDE.
- Pịa [File>>[Gbanwee ebe ọrụ]>[Ndị ọzọ] wee gaa na ndekọ ebe ọrụ STM32CubeIDE.
- Pịa [File>>[Ibubata], họrọ [General]>[Erụ Ọrụ dị adị n'ime ebe ọrụ], wee pịa [Ọzọ].
- Chọgharịa na ndekọ ebe ọrụ STM32CubeIDE wee họrọ ọrụ a.
- wughachi oru ngo niile files: Họrọ oru ngo na windo Project Explorer wee pịa na
[Project]> menu menu. - Gbaa mmemme ahụ: [Run]>[Mwepu (F11)].
Ịmepụta ngwa omenala
Iji STM32CubeMX wulite ma ọ bụ melite ngwa
Na ngwugwu STM32Cube MCU, ihe fọrọ nke nta ka ọ bụrụ ọrụ niile bụ exampA na-emepụta les na ngwa STM32CubeMX iji malite usoro, akụkụ, na middleware.
Ojiji nke ọrụ dị ugbu a bụ example site na ngwa STM32CubeMX chọrọ STM32CubeMX 6.12.0 ma ọ bụ karịa:
- Mgbe echichi nke STM32CubeMX, mepee ma ọ bụrụ na ọ dị mkpa melite ọrụ a chọrọ.
Ụzọ kachasị mfe iji mepee ọrụ dị adị bụ ịpị ugboro abụọ na * .ioc file nke mere na STM32CubeMX ga-emepe ọrụ ahụ na isi mmalite ya na-akpaghị aka files. STM32CubeMX na-emepụta koodu mmalite mmalite nke ọrụ ndị dị otú ahụ. - Isi koodu isi ngwa bụ ihe ndị a kwuru "USER CODE BEGIN" na "ỌDỤ NDỤMỌDỤ". Ọ bụrụ na agbanweela nhọrọ mpaghara na ntọala, STM32CubeMX na-emelite akụkụ mmalite nke koodu ahụ ma na-echekwa koodu isi mmalite ngwa.
Iji mepụta ọrụ omenala na STM32CubeMX, soro usoro nzọụkwụ site na nzọụkwụ:
- Hazie sọftụwia niile agbakwunyere chọrọ site na iji pinout-conflict solver, onye inyeaka ntọala osisi elekere, mgbako oriri ike, yana akụrụngwa na-arụ nhazi akụkụ MCU (dị ka GPIO ma ọ bụ USART).
- Mepụta koodu mmalite C dabere na nhazi ahọpụtara. Koodu a dị njikere iji n'ime ọtụtụ gburugburu mmepe. A na-edobe koodu njirimara na ọgbọ koodu na-esote.
Maka ozi ndị ọzọ gbasara STM32CubeMX, rụtụ aka na ntuziaka onye ọrụ STM32CubeMX maka nhazi STM32 na mmalite C koodu ọgbọ (UM1718).
Ngwa ọkwọ ụgbọala
HAL ngwa
Akụkụ a na-akọwa usoro achọrọ iji mepụta ngwa HAL omenala site na iji STM32CubeWL3:
- Mepụta oru ngo
Iji mepụta ọrụ ọhụrụ, malite otu n'ime ọrụ Template enyere maka bọọdụ ọ bụla n'okpuru \Projects\< STM32xxx_yyy> Templates ma ọ bụ site na ọrụ ọ bụla dị n'okpuru \Projects\ \ Ọpụampl es ma ọ bụ \Projects\ Ngwa (ebe na-ezo aka n'aha osisi). Ihe omume Template na-enye ọrụ akaghị ihe efu. Agbanyeghị, ọ bụ mmalite dị mma ịghọta ntọala ọrụ STM32CubeWL32. Template nwere njirimara ndị a:- O nwere koodu isi mmalite HAL, CMSIS, na ndị ọkwọ ụgbọ ala BSP, bụ nke kacha nta nke ihe achọrọ iji mepụta koodu na bọọdụ enyere.
- Ọ nwere ụzọ etinyere maka akụrụngwa firmware niile.
- Ọ na-akọwa ngwaọrụ ahịrị ngwaahịa STM32WL3x akwadoro, na-enye ohere ịhazi ndị ọkwọ ụgbọ ala CMSIS na HAL nke ọma.
- Ọ na-enye onye ọrụ dị njikere iji files preconfigured dị ka egosiri n'okpuru:
- Jiri Arm® core SysTick were malite oge ndabere HAL.
- Emebere SysTick ISR maka ebumnuche HAL_Delay().
Mara: Mgbe ị na-edegharị ọrụ dị ugbu a gaa na ebe ọzọ, gbaa mbọ hụ na emelitere ụzọ niile etinyere.
- Hazie akụrụngwa firmware
Ngwa HAL na middleware na-enye usoro nhazi oge nhazi site na iji macros #define kwuputara na nkụnye eji isi mee. file. Nhazi template file a na-enye n'ime akụkụ ọ bụla, nke a ga-edepụtaghachi na folda ọrụ (na-emekarị nhazi file aha ya xxx_conf_template.h, ekwesịrị iwepụ iberibe _template mgbe ị na-edegharị ya na folda ọrụ). Nhazi file na-enye ozi zuru oke iji ghọta mmetụta nke nhọrọ nhazi ọ bụla. Ozi zuru ezu dị na akwụkwọ enyere maka mpaghara ọ bụla. - Malite HAL ọba akwụkwọ
Mgbe ịwụsịrị na mmemme bụ isi, koodu ngwa ga-akpọrịrị HAL_Init() API ka ibido ọba akwụkwọ HAL, nke na-arụ ọrụ ndị a:- Nhazi nke prefetch ebe nchekwa flash yana mkpa ịkwụsị SysTick (site na macros akọwapụtara na stm3 2wl3x_hal_conf.h).
- Nhazi nke SysTick iji wepụta nkwụsịtụ kwa millisekọnd ọ bụla na SysTick nkwụsị mkpa TICK_INT_PRIO akọwapụtara na stm32wl3x_hal_conf.h.
- Ịtọlite NVIC otu mkpa na 0.
- Oku HAL_MspInit() ọrụ ịkpọghachi akpọpụtara n'ime onye ọrụ stm32wl3x_hal_msp.c file ime mmalite ngwaike dị ala zuru ụwa ọnụ.
- Hazie elekere sistemụ
A na-eme nhazi elekere sistemụ site na ịkpọ API abụọ akọwara n'okpuru:- HAL_RCC_OscConfig(): API a na-ahazi oscillator nke ime na mpụta. Onye ọrụ na-ahọrọ ịhazi otu ma ọ bụ oscillators niile.
- HAL_RCC_ClockConfig(): API a na-ahazi isi mmalite elekere sistemụ, nkwụsị ebe nchekwa ọkụ, yana AHB na APB prescalers.
- Bido akụkụ ahụ
- Buru ụzọ dee ọrụ mbido mpụta mpụta. Gaa n'ihu dị ka ndị a:
- Kwado elekere gburugburu.
- Hazie GPIO ndị dị n'akụkụ.
- Hazie ọwa DMA wee mee ka nkwụsịtụ DMA (ọ bụrụ na ọ dị mkpa).
- Kwado nkwụsịtụ n'akụkụ (ọ bụrụ na ọ dị mkpa).
- Dezie stm32xxx_it.c ka ịkpọọ ndị njikwa nkwụsịtụ achọrọ (peripheral na DMA), ọ bụrụ na achọrọ ya.
- Dee usoro ọrụ nlọghachi azụ zuru oke ma ọ bụrụ na nkwụsị mpụta ma ọ bụ DMA chọrọ iji.
- N'ime onye ọrụ main.c file, bido usoro aka dị n'akụkụ wee kpọọ ọrụ mmalite nke mpụta ka ibido mpụta.
- Mepụta ngwa
Na nke a stage, usoro ahụ dị njikere na mmepe koodu ngwa onye ọrụ nwere ike ịmalite.
HAL ahụ na-enye API ndị nwere nghọta na njikere iji hazie mpaghara ahụ. Ọ na-akwado ntuli aka, nkwụsịtụ na ụdị mmemme DMA, iji nabata ngwa ọ bụla chọrọ. Maka nkọwa ndị ọzọ gbasara otu esi eji akụkụ nke ọ bụla, rụtụ aka na ọgaranya bụbuampEnyere ya na ngwugwu STM32CubeWL3 MCU.
Ịkpachara anya:
Na mmejuputa HAL nke ndabara, a na-eji ngụ oge SysTick dị ka oge: ọ na-ebute nkwụsịtụ n'oge oge. Ọ bụrụ na akpọrọ HAL_Delay() site na usoro ISR dị n'akụkụ, gbaa mbọ hụ na nkwụsịtụ SysTick nwere mkpa dị elu (ọnụọgụ dị ala) karịa nkwụsị nke mpụta. Ma ọ bụghị ya, usoro onye na-akpọ ISR bụ
egbochiri. A na-ekwupụta ọrụ na-emetụta nhazi oge dị ka __ adịghị ike iji mee ka ọ bụrụ na mmejuputa ndị ọzọ dị na onye ọrụ. file (iji oge ebumnuche izugbe, maka example, ma ọ bụ isi mmalite oge ọzọ).
Maka nkọwa ndị ọzọ, rụtụ aka na HAL_TimeBase example.
Ngwa LL
Akụkụ a na-akọwa usoro achọrọ iji mepụta ngwa LL omenala site na iji STM32CubeWL3.
- Mepụta oru ngo
Iji mepụta ọrụ ọhụrụ, ma ọ bụ malite site na Templates_LL ọrụ enyere maka bọọdụ ọ bụla n'okpuru \Projects\ Templates_LL ma ọ bụ site na ọrụ ọ bụla dị n'okpuru \Projects\ \E xamples_LL ( na-ezo aka n'aha osisi, dị ka NUCLO-WL32CC33).
Ihe omume ndebiri na-enye ọrụ akaghị isi efu, nke bụ ezigbo mmalite iji ghọta ntọala ọrụ maka STM32CubeWL3. Isi njirimara template bụ ndị a:- O nwere koodu isi mmalite nke ndị ọkwọ ụgbọ ala LL na CMSIS, nke bụ akụkụ kacha nta achọrọ iji mepụta koodu na bọọdụ enyere.
- Ọ nwere ụzọ etinyere maka akụrụngwa firmware niile achọrọ.
- Ọ na-ahọrọ ngwaọrụ ahịrị ngwaahịa STM32WL3x na-akwado ma na-enye ohere nhazi ziri ezi nke ndị ọkwọ ụgbọala CMSIS na LL.
- Ọ na-enye onye ọrụ dị njikere iji files ndị a na-ahazi dị ka ndị a:
- main.h: LED na USER_BUTTON nkọwapụta oyi akwa.
- main.c: Nhazi elekere sistemụ maka oge kacha.
- Bubata LL exampLe:
- Detuo/mado nchekwa Templates_LL - ka idobe isi mmalite - ma ọ bụ melite ọrụ Templa tes_LL dị adị.
- Mgbe ahụ, ọdụ ụgbọ mmiri ahụ bụ isi na nnọchi Templates_LL files site na Examples_LL ezubere iche.
- Debe akụkụ osisi niile akọwapụtara. N'ihi ihe doro anya, a na-egosi akụkụ ụfọdụ nke bọọdụ nwere kpọmkwem tags:
Ya mere, isi ụzọ mbubata bụ ndị a:
- Dochie stm32wl3x_it.h file.
- Dochie stm32wl3x_it.c file.
- Dochie isi.h file ma melite ya: Debe nkọwa bọtịnụ LED na onye ọrụ nke template LL n'okpuru BOARD SPECIFIC CONFIGURATION tags.
- Dochie isi.c file ma melite ya:
- Debe nhazi elekere nke ọrụ template SystemClock_Config() LL n'okpuru BOARD SPECIFIC CONFIGURATION tags.
- Dabere na nkọwa LED, dochie ihe omume LDx ọ bụla na LDy ọzọ dị na file isi.h.
Site na mgbanwe ndị a, example na-agba ọsọ na osisi ezubere iche.
Ngwa RF, ihe ngosi, na examples
Ụdị ngwa RF dị iche iche, ihe ngosi, na examples dị na ngwugwu STM32CubeWL3. Edepụtara ha na ngalaba abụọ dị n'okpuru.
Sub-GHz examples na ihe ngosi
Ndị a bụ examples gosi isi njiri mara nke MRSUBG na LPAWUR redio. Ndị a bụ examples dị n'okpuru:
- Ọrụ \ NUCLEO-WL33CC \ Exampndị MSUBG
- Ọrụ \ NUCLEO-WL33CC \ Exampnke LPAWUR
- Projects\NUCLEO-WL33CCMkpesa MRSUBG
- Projects\NUCLEO-WL33CCNgosi\LPAWUR
Onye ọ bụla example ma ọ bụ ngosipụta n'ozuzu nwere mmemme abụọ a na-akpọ Tx na Rx na-arụ ọrụ dị ka onye na-ebufe na nnata, n'otu n'otu:
- Examples/MRSUBG
- MRSUBG_802_15_4: mmejuputa atumatu oyi akwa nke ọkọlọtọ 802.15.4 kọwara. Ọ na-egosi otu esi ahazi redio ka ọ nyefee ma ọ bụ nata ngwugwu 802.15.4.
- MRSUBG_BasicGeneric: Ngbanwe nke ngwugwu STM32WL3x MR_SUBG.
- MRSUBG_Chat: Ngwa dị mfe na-egosi otu esi eji Tx na Rx n'otu ngwaọrụ.
- MRSUBG_DatabufferHandler: exampNke ahụ na-egosi otu esi agbanwe na Databuffer 0 na 1.
- MRSUBG_Sequencer AutoAck: exampnke na-ebufe ma nata nnabata ngwugwu (ACKs) na-akpaghị aka.
- MRSUBG_WBusSTD: Mgbanwe nke ozi WM-Bus.
- WakeupRadio: example iji nwalee mpaghara redio LPAWUR.
- Ngosipụta/MRSUBG
- MRSUBG_RTC_Button_TX: Nke a bụbuample na-egosi otu esi edobe SoC na ọnọdụ nkwụsị miri emi wee hazie MRSUBG iji teta SoC site na ịpị PB2 ka izipu fremu ma ọ bụ mgbe oge RTC gachara.
- MRSUBG_Sequencer_Sniff: Nke a bụbuample na-egosi otu esi edobe usoro MRSUBG ka ọ rụọ ọrụ na ọnọdụ sniff. Nke a example na-egosipụta akụkụ nnata ma chọọ ngwaọrụ ọzọ dị ka onye na-ebugharị.
- MRSUBG_Timer: Ngwa a na-ahazi ọtụtụ oge nke oge MRSUBG (yana autoreload) nwere oge dị iche iche.
- MRSUBG_WakeupRadio_Tx: Nke a bụbuample na-akọwa otu esi edobe SoC na ọnọdụ nkwụsị miri emi wee hazie MRSUBG iji teta SoC site na ịpị PB2 iji zipu etiti. Nke a example na-egosipụta akụkụ transmitter ma chọọ ngwaọrụ ọzọ dị ka onye nata LPAWUR. Onye nnata example dị n'okpuru NUCLO-WL33CC\Demonstrations\LPAWURLPAWUR_WakeupRad io_Rx nchekwa.
- Ngosipụta/LPAWUR
- LPAWUR_WakeupRadio_Rx: Nke a bụbuample na-akọwa otu esi edobe SoC na ọnọdụ nkwụsị miri emi wee hazie LPAWUR iji teta SoC mgbe etiti rutere wee nata ya nke ọma. Nke a example na-egosipụta akụkụ nnata ma chọọ ngwaọrụ ọzọ dị ka onye na-ebugharị. Onye na-ebufe example dị n'okpuru NUCLO-WL33CC\DemonstrationsMRSUBGMRSUBG_WakeupRad io_Tx nchekwa.
Ngwa Sigfox™
Ngwa ndị a na-egosi otu esi emejuputa ọnọdụ Sigfox™ ma jiri Sigfox™ API dị. Ha dị na ụzọ ọrụ ProjectsNUCLEO-WL33CCApplicationsSigfox:
- Sigfox_CLI: Ngwa a na-egosi otu esi eji interface-line interface (CLI) izipu iwu na-eji protocol Sigfox™ izipu ozi ma mee ule nyocha.
- Sigfox_PushButton: Ngwa a na-enye ohere nyocha ike redio ngwaọrụ STM32WL33xx Sigfox™. Ịpị PB1 na-ebunye etiti Sigfox™ ule.
FAQ
- Kedu mgbe m ga-eji HAL kama ịnya ụgbọ ala LL?
Ndị ọkwọ ụgbọ ala HAL na-enye API dị elu yana arụrụ arụ ọrụ, nwere nnukwu ibugharị. Ezochiri ihe mgbagwoju anya ngwaahịa ma ọ bụ mpụta maka ndị ọrụ njedebe.
Ndị ọkwọ ụgbọ ala LL na-enye API ọkwa ọkwa dị ala, yana njikarịcha ka mma mana obere obere. Ha chọrọ ihe ọmụma miri emi nke ngwaahịa ma ọ bụ nkọwa IP. - Enwere ike iji ndị ọkwọ ụgbọ ala HAL na LL ọnụ? Ọ bụrụ ee, kedu ihe mgbochi ndị ahụ?
Enwere ike iji ma ndị ọkwọ ụgbọ ala HAL na LL. Jiri HAL maka usoro mmalite mmalite wee jikwaa ọrụ I/O na ndị ọkwọ ụgbọ ala LL.
Isi ihe dị iche n'etiti HAL na LL bụ na ndị ọkwọ ụgbọ ala HAL chọrọ imepụta na iji aka maka njikwa ọrụ ebe ndị ọkwọ ụgbọ ala LL na-arụ ọrụ ozugbo na ndekọ mpaghara. E gosipụtara ịgwakọta HAL na LL na Examples_MIX examples. - Kedu ka esi eme API mmalite LL?
Nkọwa nke API mmalite LL yana akụrụngwa agbakwunyere (atụmatụ, mkpụrụedemede, na ihe nlere anya) bụ ngbanwe nchịkọta USE_FULL_LL_DRIVER.
Iji nwee ike iji API mmalite LL, tinye mgba ọkụ a na ihe nrụkọba ngwá ọrụ. - Enwere ọrụ ndebiri ọ bụla maka MRSUBG/LPAWUR peripheral examples?
Iji mepụta MRSUBG ma ọ bụ LPAWUR exampna oru ngo, ma ọ bụ malite na skeleton ọrụ enyere n'okpuru \ Pr ojectsNUCLEO-WL33CCExamples \MRSUBG ma ọ bụ \Projects\NUCLEO-WL33CCExamples\LPAWUR, ma ọ bụ site na ọrụ ọ bụla dị n'okpuru otu akwụkwọ ndekọ aha. - Kedu ka STM32CubeMX ga-esi wepụta koodu dabere na ngwanrọ agbakwunyere?
STM32CubeMX nwere ihe ọmụma wuru n'ime nke STM32 microcontrollers, gụnyere akụkụ ha na ngwanrọ, nke na-enye ya ohere ịnye onye ọrụ ihe ngosi eserese wee mepụta * .h ma ọ bụ * .c files dabere na nhazi onye ọrụ.
Akụkọ ngbanwe
Tebụl 3. Akụkọ ndegharị akwụkwọ
Ụbọchị | Ndozigharị | Mgbanwe |
29-Mar-2024 | 1 | Ntọhapụ mbụ. |
30-Ọkt-2024 | 2 | Ngwakọta zuru oke nke STM32CubeWL3 in STM32Cube. Emelitere:
Ewepụrụ:
|
Akwụkwọ / akụrụngwa
![]() |
ST STM32WL3x ngwugwu ngwanrọ [pdf] Ntuziaka Ngwugwu ngwanrọ STM32WL3x, STM32WL3x, ngwugwu ngwanrọ, ngwugwu |