STM32WL3x Mikwokontwolè
Enstriksyon Itilizasyon Pwodwi
- Pake STM32CubeWL3 a gen ladan API ki ba kouch (LL) ak kouch abstrè pyès ki nan konpitè (HAL) ki kouvri pyès ki nan konpitè mikrokontwolè a.
- Li bay tou konpozan middleware tankou SigfoxTM, FatFS, ak nwayo FreeRTOS.
- Pake a vini ak ansyenamples ak aplikasyon pou aplikasyon fasil.
- Achitekti STM32CubeWL3 la bati alantou twa nivo: Aplikasyon, HAL, ak LL.
- API HAL ak LL yo kouvri yon pakèt kondisyon aplikasyon.
- HAL la ofri itilizasyon periferik debaz eksamples, ak LL a bay woutin ki ba nivo.
- Nivo sa a gen ladan Board Support Package (BSP) ak soukouch HAL.
- BSP a ofri API pou konpozan pyès ki nan konpitè sou tablo, pandan y ap HAL bay itilizasyon debaz periferik ansyenamples.
- Chofè BSP konekte chofè konpozan yo nan tablo espesifik, sa ki fè li fasil pou pò nan lòt pyès ki nan konpitè.
- STM32CubeWL3 HAL ak LL yo konplemantè, ki kouvri yon pakèt kondisyon aplikasyon.
- Itilizatè yo ka ogmante API sa yo pou kominike avèk pyès ki nan konpitè mikrokontwolè a avèk efikasite.
Entwodiksyon
STM32Cube se yon inisyativ orijinal STMicroelectronics pou amelyore pwodiktivite designer anpil nan diminye efò devlopman, tan ak pri. STM32Cube kouvri tout pòtfolyo STM32 la. STM32Cube gen ladan:
STM32Cube gen ladan:
- Yon seri zouti devlopman lojisyèl ki fasil pou itilize pou kouvri devlopman pwojè soti nan konsepsyon rive nan realizasyon, pami ki se:
- STM32CubeMX, yon zouti konfigirasyon lojisyèl grafik ki pèmèt jenerasyon otomatik kòd inisyalizasyon C lè l sèvi avèk asistan grafik.
- STM32CubeIDE, yon zouti devlopman tout-an-yon ak konfigirasyon periferik, jenerasyon kòd, konpilasyon kòd, ak karakteristik debug.
- STM32CubeCLT, yon seri zouti devlopman tout-an-yon sèl ak konpilasyon kòd, pwogramasyon tablo, ak karakteristik debug.
- STM32CubeProgrammer (STM32CubeProg), yon zouti pwogramasyon ki disponib nan vèsyon grafik ak liy lòd.
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), zouti siveyans pwisan pou ajiste konpòtman ak pèfòmans aplikasyon STM32 an tan reyèl.
- Pakè STM32Cube MCU ak MPU, platfòm lojisyèl entegre espesifik pou chak seri mikwo-kontwolè ak mikropwosesè (tankou STM32CubeWL3 pou liy pwodwi STM32WL3x), ki enkli:
- Kouch abstraksyon pyès ki nan konpitè STM32Cube (HAL), asire transparans maksimize atravè dosye STM32 la.
- STM32Cube API ba-kouch, asire pi bon pèfòmans ak anprint ak yon wo degre de kontwòl itilizatè sou pyès ki nan konpitè
- Yon seri konpozan middleware ki konsistan tankou kernel FreeRTOS™, FatFS, ak Sigfox™
- Tout sèvis piblik entegre lojisyèl ak ansanm konplè nan periferik ak aplikatif ansyenamples
- Pakè ekspansyon STM32Cube, ki genyen konpozan lojisyèl entegre ki konplete fonksyonalite pakè MCU ak MPU STM32Cube ak:
- Ekstansyon middleware ak kouch aplikasyon
- Examples ap kouri sou kèk espesifik tablo devlopman STMicroelectronics
- Manyèl itilizatè sa a dekri kijan pou kòmanse ak pake MCU STM32CubeWL3.
Seksyon 2 dekri karakteristik prensipal yo nan STM32CubeWL3 ak Seksyon 3 bay yon souview nan achitekti li yo ak nan estrikti nan pake MCU.
Enfòmasyon jeneral
- STM32CubeWL3 kouri aplikasyon pou demonstrasyon anba-GHz, ki gen ladan binè Sigfox™, sou mikrokontroleur liy pwodwi STM32WL3x ki baze sou processeur Arm® Cortex®-M0+.
- Mikrokontwolè STM32WL3x yo entegre periferik radyo RF ki konfòm STMicroelectronics ak dènye modèl sub-GHz, optimize pou konsomasyon ultra-ba-pouvwa ak ekselan pèfòmans radyo, pou tout lavi batri san parèy.
Nòt: Arm se yon mak ki anrejistre Arm Limited (oswa filiales li yo) nan peyi Etazini ak/oswa lòt kote.
STM32CubeWL3 karakteristik prensipal yo
- Pake MCU STM32CubeWL3 la kouri sou mikrokontroleur STM32 32-bit ki baze sou processeur Arm® Cortex®-M0+. Li rasanble, nan yon sèl pake, tout konpozan lojisyèl entegre jenerik ki nesesè pou devlope yon aplikasyon pou la Liy pwodwi STM32WL3x mikrokontwolè.
- Pake a gen ladan API ki ba kouch (LL) ak kouch abstrè pyès ki nan konpitè (HAL) ki kouvri pyès ki nan konpitè mikrokontwolè a, ansanm ak yon seri ekstansif.amples kouri sou tablo STMicroelectronics. API HAL ak LL yo disponib nan yon lisans BSD sous louvri pou fasilite itilizatè. Li gen ladan tou eleman middleware Sigfox™, FatFS ak FreeRTOS™ nwayo.
- Pake STM32CubeWL3 MCU a bay tou plizyè aplikasyon ak demonstrasyon ki aplike tout eleman middleware li yo.
- Layout eleman pake STM32CubeWL3 MCU a ilistre nan Figi 1.
STM32CubeWL3 achitekti souview
- Solisyon pakè STM32CubeWL3 MCU a bati alantou twa nivo endepandan ki fasil kominike jan sa dekri nan Figi 2.
Nivo 0
Nivo sa a divize an twa kouch:
- Konsèy sipò pake (BSP).
- Kouch abstrè pyès ki nan konpitè (HAL):
- Chofè periferik HAL
- Chofè ki ba yo
- Itilizasyon debaz periferik eksamples.
Pake sipò konsèy (BSP)
Kouch sa a ofri yon seri API parapò ak eleman pyès ki nan konpitè nan tablo pyès ki nan konpitè (tankou LED, bouton, ak chofè COM). Li konpoze de de pati:
Eleman:
- Sa a se chofè a relatif nan aparèy la ekstèn sou tablo a epi yo pa nan STM32 la. Chofè konpozan an bay API espesifik konpozan ekstèn chofè BSP yo epi li ka pòtab sou nenpòt lòt tablo.
- chofè BSP:
- Li pèmèt konekte chofè eleman yo nan yon tablo espesifik epi li bay yon seri API ki fasil pou itilizatè. Règ non API a se BSP_FUNCT_Action().
- Example: BSP_LED_Init (), BSP_LED_On ()
BSP baze sou yon achitekti modilè ki pèmèt fasil pòtaj sou nenpòt pyès ki nan konpitè pa jis aplike woutin ki ba yo.
Kouch abstrè pyès ki nan konpitè (HAL) ak kouch ba (LL)
STM32CubeWL3 HAL ak LL yo konplemantè epi yo kouvri yon pakèt kondisyon aplikasyon:
- Chofè HAL yo ofri API trè pòtab oryante fonksyon wo nivo. Yo kache MCU a ak konpleksite periferik nan itilizatè final la.
Chofè HAL yo bay API jenerik milti-enstans ki oryante sou karakteristik, ki senplifye aplikasyon aplikasyon itilizatè a lè yo bay pwosesis ki pare pou itilize. Pou egzanpample, pou periferik kominikasyon yo (I2C, UART, ak lòt moun), li bay API ki pèmèt inisyalize ak konfigirasyon periferik la, jere transfè done ki baze sou biwo vòt, entèwonp, oswa pwosesis DMA, ak manyen erè kominikasyon ki ka leve pandan kominikasyon. API chofè HAL yo divize an de kategori:- API jenerik, ki bay fonksyon komen ak jenerik nan tout mikrokontroleur seri STM32 yo.
- API ekstansyon, ki bay fonksyon espesifik ak Customized pou yon fanmi espesifik oswa yon nimewo pati espesifik.
- API ki ba-kouch yo bay API ki ba-nivo nan nivo rejis la, ak pi bon optimize men mwens portabilite.
Yo mande pou yon konesans pwofon nan MCU a ak espesifikasyon periferik.
Chofè LL yo fèt pou ofri yon kouch rapid ki lejè, ki oryante sou ekspè ki pi pre pyès ki nan konpitè pase HAL la. Kontrèman ak HAL la, LL API yo pa bay pou periferik kote aksè optimize se pa yon karakteristik kle, oswa pou moun ki bezwen konfigirasyon lojisyèl lou oswa pile konplèks nivo siperyè.
Chofè LL yo prezante: - Yon seri fonksyon pou inisyalize karakteristik prensipal periferik yo dapre paramèt yo espesifye nan estrikti done yo.
- Yon seri fonksyon pou ranpli estrikti done inisyalizasyon ak valè reset ki koresponn ak chak jaden.
- Fonksyon pou de-inisyalizasyon periferik (rejis periferik retabli nan valè default yo).
- Yon seri fonksyon inline pou aksè dirèk ak atomik rejis.
- Endepandans total de HAL ak kapasite pou itilize nan mòd otonòm (san chofè HAL).
- Kouvèti konplè sou karakteristik periferik ki sipòte yo.
Itilizasyon debaz periferik eksamples
Kouch sa a fèmen ansyen anamples bati sou periferik STM32 yo lè l sèvi avèk sèlman resous HAL ak BSP.
Nòt: Demonstrasyon examples yo disponib tou pou montre ansyen plis konplèksample senaryo ak periferik espesifik, tankou MRSUBG ak LPAWUR.
Nivo 1
Nivo sa a divize an de soukouch:
- Konpozan middleware
- Examples ki baze sou eleman middleware yo
Konpozan middleware
Middleware a se yon seri bibliyotèk ki kouvri nwayo FreeRTOS™, FatFS, ak bibliyotèk pwotokòl Sigfox™.
Se entèraksyon orizontal ant eleman yo nan kouch sa a fè lè w rele API yo prezante yo.
Se entèraksyon vètikal ak chofè kouch ba yo fè atravè apèl espesifik ak makro estatik aplike nan koòdone apèl sistèm bibliyotèk la.
Karakteristik prensipal yo nan chak eleman middleware yo jan sa a:
- Nwayo FreeRTOS™: aplike yon sistèm operasyon an tan reyèl (RTOS), ki fèt pou sistèm entegre.
- Sigfox™: aplike bibliyotèk pwotokòl Sigfox™ ki konfòm ak rezo pwotokòl Sigfox™ epi li gen ladan bibliyotèk pwotokòl tès RF pou teste kont zouti RF Sigfox™.
- FatFS: aplike FAT jenerik la file modil sistèm.
Examples ki baze sou eleman middleware yo
- Chak eleman middleware vini ak youn oswa plis ansyenamples, yo rele tou aplikasyon, ki montre kijan pou itilize li.
- Entegrasyon eksamples ki itilize plizyè konpozan middleware yo bay tou.
STM32CubeWL3 firmwèr pake souview
Sipòte aparèy STM32WL3x ak pyès ki nan konpitè
- STM32Cube ofri yon kouch abstrè pyès ki nan konpitè trè pòtab (HAL) bati alantou yon achitekti jenerik. Li pèmèt prensip la bati-sou kouch, tankou lè l sèvi avèk kouch nan middleware aplike fonksyon yo san yo pa konnen, an pwofondè, ki sa MCU yo itilize. Sa a amelyore reutilizasyon kòd bibliyotèk la epi asire fasil transparans nan lòt aparèy.
- Anplis de sa, ak achitekti kouch li yo, STM32CubeWL3 ofri sipò konplè pou tout liy pwodwi STM32WL3x.
- Itilizatè a dwe sèlman defini makro a dwat nan stm32wl3x.h.
- Tablo 1 montre makro pou defini depann sou aparèy liy pwodwi STM32WL3x yo itilize. Yo dwe defini makro sa a tou nan preprosesè konpilatè a.
Tablo 1. Macro pou liy pwodwi STM32WL3x
Makro defini nan STM32WL3X.h | STM32WL3x pwodwi liy aparèy |
stm32wl3x | STM32WL30xx mikwo-kontwolè STM32WL31xx mikwo-kontwolè STM32WL33xx mikwo-kontwolè |
Tablo 2. Planch pou liy pwodwi STM32WL3x
Komisyon Konsèy | STM32WL3x tablo sipòte aparèy |
NIKLEO-WL33CC1 | STM32WL33CC |
NIKLEO-WL33CC2 | STM32WL33CC |
Pake STM32CubeWL3 MCU a ka kouri sou nenpòt pyès ki nan konpitè konpatib. Itilizatè yo mete ajou chofè BSP yo pou pò ansyen yo bay laamples sou tablo yo, si sa yo gen menm karakteristik pyès ki nan konpitè (tankou poul oswa bouton).
Pake firmwèr souview
- Yo bay solisyon STM32CubeWL3 MCU Package nan yon sèl pake postal, ak estrikti ki montre nan Figi 3.
Atansyon: Itilizatè a pa dwe modifye eleman yo files. Itilizatè a kapab sèlman edite sous \Projects yo. Pou chak tablo, yon seri examples yo bay pwojè prekonfigirasyon pou chèn zouti EWARM, MDK-ARM, ak STM32CubeIDE.
Figi 4 montre estrikti pwojè a pou tablo NUCLEO-WL33CCx yo.
Ansyen anamples yo klase selon nivo STM32CubeWL3 ke yo aplike a. Yo rele yo jan sa a:
- Nivo 0 eksampyo rele Egzamples, Egzamples_LL, ak Egzamples_MIX. Yo itilize respektivman chofè HAL, chofè LL, ak yon melanj de chofè HAL ak LL san okenn eleman middleware. Demonstrasyon examples yo disponib tou.
- Nivo 1 eksamples yo rele Aplikasyon. Yo bay ka itilizasyon tipik nan chak eleman middleware.
Nenpòt aplikasyon firmwèr pou yon tablo bay yo ka byen vit konstwi lè l sèvi avèk modèl pwojè ki disponib nan anyè Templates ak Templates_LL.
Examples, Egzamples_LL, ak Egzamples_MIX gen menm estrikti:
- \Inc folder ki gen tout header la files.
- \Src Katab ki gen kòd sous la.
- Dosye \EWARM, \MDK-ARM, ak \STM32CubeIDE ki genyen pwojè prekonfigirasyon pou chak chèn zouti.
- readme.md ak readme.html ki dekri ansyen anample konpòtman ak anviwònman ki nesesè pou fè li travay.
Kòmanse ak STM32CubeWL3
Kouri yon premye ansyenample
Seksyon sa a eksplike kijan li senp pou kouri yon premye ansyenample nan STM32CubeWL3. Li itilize kòm yon ilistrasyon jenerasyon an nan yon baskile ki senp dirije ki kouri sou tablo a NUCLEO-WL33CC1:
- Telechaje pakè STM32CubeWL3 MCU a.
- Dekonprime li, oswa kouri enstale a si li bay, nan yon anyè ou chwazi.
- Asire w ke w pa modifye estrikti pake yo montre nan Figi 3. STM32CubeWL3 estrikti pake firmwèr. Remake byen ke li rekòmande tou pou kopye pake a nan yon kote ki toupre volim rasin lan (sa vle di C:\ST oswa G:\Tès), paske kèk IDE rankontre pwoblèm lè chemen an twò long.
Ki jan yo kouri yon HAL example
Anvan chaje ak kouri yon ansyenample, li rekòmande fòtman li ansyen anample readme file pou nenpòt konfigirasyon espesifik.
- Navige nan \Projects\NUCLEO-WL33CC\Examples.
- Louvri dosye \GPIO, apresa \GPIO_EXTI.
- Louvri pwojè a ak chèn zouti pi pito a. Yon rapid souview sou kòman yo louvri, bati, ak kouri yon ansyenampyo bay pi ba a le ak chèn zouti ki sipòte yo.
- Rebati tout files epi chaje imaj la nan memwa sib la.
- Kouri ansyen anample. Pou plis detay, al gade nan ansyen anample readme file.
Pou louvri, bati, epi kouri yon ansyenampak chak chèn zouti ki sipòte yo, swiv etap ki anba yo:
- EWARM:
- Anba Examples, louvri sousdosye \EWARM la.
- Lanse espas travay Project.eww (non espas travay la ka chanje soti nan yon ansyenample nan yon lòt).
- Rebati tout files: [Pwojè]> [Rebati tout].
- Chaje imaj pwojè a: [Pwojè]> [Debug].
- Kouri pwogram nan: [Debug]> [Ale (F5)].
- MDK-ARM:
- Anba Examples, louvri sousdosye \MDK-ARM la.
- Louvri espas travay Project.uvproj la (non espas travay la ka chanje soti nan yon ansyenample nan yon lòt).
- Rebati tout files: [Pwojè]> [Rebati tout sib files].
- Chaje imaj pwojè a: [Debug]> [Kòmanse/Stop Debug Sesyon].
- Kouri pwogram nan: [Debug]> [Kouri (F5)].
- STM32CubeIDE:
- Louvri chèn zouti STM32CubeIDE.
- Klike sou [File]>[Chanje espas travay]>[Lòt] epi ale nan anyè espas travay STM32CubeIDE.
- Klike sou [File]>[Enpòte], chwazi [Jeneral]>[Pwojè ki deja egziste nan espas travay], epi klike sou [Next].
- Navige nan anyè espas travay STM32CubeIDE epi chwazi pwojè a.
- Rebati tout pwojè files: Chwazi pwojè a nan fenèt Project Explorer a epi klike sou meni [Pwojè]> [Konstwi pwojè].
- Kouri pwogram nan: [Kouri]> [Debug (F11)].
Devlope yon aplikasyon koutim
Sèvi ak STM32CubeMX pou devlope oswa mete ajou yon aplikasyon
- Nan pake MCU STM32Cube, prèske tout pwojè ansyenamples yo pwodwi ak zouti STM32CubeMX pou inisyalize sistèm nan, periferik, ak middleware.
Itilizasyon dirèk yon pwojè ki egziste dejaample soti nan zouti STM32CubeMX a mande STM32CubeMX 6.12.0 oswa pi wo:
- Apre enstalasyon STM32CubeMX, louvri epi si sa nesesè mete ajou yon pwojè pwopoze.
Fason ki pi senp pou ouvri yon pwojè ki deja egziste se double-klike sou *.ioc la file se konsa ke STM32CubeMX otomatikman louvri pwojè a ak sous li yo files. STM32CubeMX jenere kòd sous inisyalizasyon pwojè sa yo. - Kòd sous aplikasyon prensipal la genyen nan kòmantè "KÒD ITIlizatè KÒMANSE" ak "KÒD ITIlizatè FINI". Si seleksyon periferik ak paramèt yo modifye, STM32CubeMX mete ajou pati inisyalizasyon kòd la pandan y ap konsève kòd sous aplikasyon prensipal la.
- Pou devlope yon pwojè koutim ak STM32CubeMX, swiv etap pa etap pwosesis la:
- Konfigure tout lojisyèl entegre obligatwa yo lè l sèvi avèk yon rezolisyon konfli pinout, yon asistan paramèt revèy-pyebwa, yon kalkilatris konsomasyon pouvwa, ak sèvis piblik ki fè konfigirasyon periferik MCU (tankou GPIO oswa USART).
- Jenere inisyalizasyon C kòd la ki baze sou konfigirasyon chwazi a. Kòd sa a pare pou itilize nan plizyè anviwònman devlopman. Kòd itilizatè a kenbe nan pwochen jenerasyon kòd la.
Pou plis enfòmasyon sou STM32CubeMX, al gade nan manyèl itilizatè STM32CubeMX pou konfigirasyon STM32 ak inisyalizasyon jenerasyon kòd C (UM1718).
Aplikasyon pou chofè yo
Aplikasyon HAL
Seksyon sa a dekri etap ki nesesè pou kreye yon aplikasyon HAL koutim lè l sèvi avèk STM32CubeWL3
- Kreye yon pwojè
Pou kreye yon nouvo pwojè, kòmanse swa nan pwojè Modèl yo bay pou chak tablo anba \Pwojè\. \Modèl oswa nan nenpòt pwojè ki disponib anba \Pwojè\ \Egzamples oswa \Pwojè\ \Aplikasyon (kote refere a non tablo a).
Pwojè Modèl la bay yon fonksyon bouk prensipal vid. Sepandan, li se yon bon pwen depa konprann paramèt pwojè STM32CubeWL3 yo. Modèl la gen karakteristik sa yo:- Li genyen kòd sous HAL, CMSIS, ak chofè BSP, ki se yon seri eleman minimòm ki nesesè pou devlope yon kòd sou yon tablo bay.
- Li gen ladann chemen yo pou tout konpozan firmwèr yo.
- Li defini aparèy liy pwodwi STM32WL3x ki sipòte yo, sa ki pèmèt chofè CMSIS ak HAL yo dwe konfigirasyon kòrèkteman.
- Li bay itilizatè ki pare pou itilize fileyo prekonfigire jan yo montre anba a:
- HAL inisyalize ak baz tan default ak SysTick debaz Arm®.
- SysTick ISR aplike pou rezon HAL_Delay().
- Remak: Lè w ap kopye yon pwojè ki deja egziste nan yon lòt kote, asire w ke tout chemen enkli yo mete ajou.
- Konfigirasyon konpozan firmwèr yo
Konpozan HAL ak middleware yo ofri yon seri opsyon konfigirasyon epòk konstriksyon lè l sèvi avèk makro #define te deklare nan yon header file. Yon konfigirasyon modèl file yo bay nan chak eleman, ki dwe kopye nan katab pwojè a (anjeneral konfigirasyon an file yo rele xxx_conf_template.h, fragman an- modèl dwe retire lè w kopye li nan katab pwojè a). Konfigirasyon an file bay ase enfòmasyon pou konprann enpak chak opsyon konfigirasyon. Gen plis enfòmasyon detaye ki disponib nan dokiman yo bay pou chak eleman.
- Kòmanse bibliyotèk HAL la
Apre sote nan pwogram prensipal la, kòd aplikasyon an dwe rele API HAL_Init() pou inisyalize bibliyotèk HAL la, ki fè travay sa yo:- Konfigirasyon prefetch memwa flash ak priyorite SysTick entèwonp (atravè makro defini nan stm32 wl3x_hal_conf.h).
- Konfigirasyon SysTick pou jenere yon entèwonp chak milisgond nan priyorite SysTick entèwonp TICK_INT_PRIO ki defini nan stm32wl3x_hal_conf.h.
- Anviwònman priyorite gwoup NVIC a 0.
- Rele fonksyon HAL_MspInit() callback defini nan itilizatè stm32wl3x_hal_msp.c file pou fè mondyal inisyalizasyon pyès ki nan konpitè ba nivo.
- Konfigure revèy sistèm lan
Konfigirasyon revèy sistèm lan fè lè w rele de API ki dekri anba a:- HAL_RCC_OscConfig(): API sa a konfigirasyon osilateur entèn ak ekstèn yo. Itilizatè a chwazi
konfigirasyon youn oswa tout osilateur. - HAL_RCC_ClockConfig(): API sa a konfigirasyon sous revèy sistèm lan, latansi memwa flash, ak prescalers AHB ak APB.
- HAL_RCC_OscConfig(): API sa a konfigirasyon osilateur entèn ak ekstèn yo. Itilizatè a chwazi
- Inisyalize periferik la
- Premye ekri fonksyon inisyalizasyon periferik la. Kontinye jan sa a:
- Pèmèt revèy periferik la.
- Konfigure GPIO periferik yo.
- Konfigure chanèl DMA a epi pèmèt entèwonp DMA a (si sa nesesè).
- Pèmèt entèwonp periferik la (si sa nesesè).
- Edit stm32xxx_it.c pou rele moun k ap okipe entèwonp yo (periferik ak DMA), si sa nesesè.
- Ekri pwosesis konplè fonksyon callback si yon entèwonp periferik oswa DMA vle di yo dwe itilize.
- Nan itilizatè a main.c file, inisyalize estrikti manch periferik la Lè sa a, rele fonksyon inisyalizasyon periferik la pou inisyalize periferik la.
- Devlope yon aplikasyon
Nan s sa atage, sistèm nan pare ak devlopman kòd aplikasyon itilizatè ka kòmanse.
HAL a bay API entwisyon ak pare pou itilize pou konfigirasyon periferik la. Li sipòte sondaj, entèwonp, ak yon modèl pwogramasyon DMA, pou akomode nenpòt kondisyon aplikasyon. Pou plis detay sou fason pou itilize chak periferik, al gade nan ansyen rich laample mete yo bay nan pake a STM32CubeWL3 MCU.
Atansyon: Nan aplikasyon HAL defo, yo itilize revèy SysTick kòm yon baz tan: li jenere entèwonp nan entèval tan regilye. Si yo rele HAL_Delay() nan pwosesis ISR periferik la, asire w ke entèwonp SysTick la gen yon pi gwo priyorite (nimerik pi ba) pase entèwonp periferik la. Sinon, pwosesis ISR moun kap rele a bloke. Fonksyon ki afekte konfigirasyon baz tan yo deklare kòm __fèb pou rann ranvwaye posib nan ka ta gen lòt aplikasyon nan itilizatè a. file (lè l sèvi avèk yon revèy jeneral, pou egzanpample, oswa yon lòt sous tan). Pou plis detay, al gade nan egzanp HAL_TimeBaseample.
aplikasyon LL
Seksyon sa a dekri etap ki nesesè pou kreye yon aplikasyon LL koutim lè l sèvi avèk STM32CubeWL3.
- Kreye yon pwojè
Pou kreye yon nouvo pwojè, swa kòmanse nan pwojè Templates_LL yo bay pou chak tablo anba \Projects\. \Templates_LL oswa nan nenpòt pwojè ki disponib anba \Projects\ \Egzamples_ LL ( refere a non tablo a, tankou NUCLEO-WL32CC33).
Pwojè modèl la bay yon fonksyon bouk prensipal vid, ki se yon bon pwen depa pou konprann anviwònman pwojè yo pou STM32CubeWL3. Karakteristik prensipal modèl yo se sa ki annapre yo:- Li gen kòd sous chofè LL ak CMSIS, ki se yon seri eleman minimòm ki nesesè pou devlope kòd la sou yon tablo bay yo.
- Li gen ladann chemen yo pou tout konpozan firmwèr ki nesesè yo.
- Li chwazi aparèy liy pwodwi STM32WL3x ki sipòte epi li pèmèt konfigirasyon kòrèk chofè CMSIS ak LL yo.
- Li bay itilizatè ki pare pou itilize fileyo ki prekonfigire jan sa a:
- main.h: LED ak USER_BUTTON definisyon abstraksyon kouch.
- main.c: Konfigirasyon revèy sistèm pou frekans maksimòm.
- Pòt LL example:
- Kopi/kole katab Templates_LL - pou kenbe sous inisyal la - oswa dirèkteman mete ajou yon pwojè Template s_LL ki egziste deja.
- Lè sa a, pòtaj la konsiste prensipalman nan ranplase Templates_LL files pa Examples_LL vize pwojè.
- Kenbe tout pati espesifik tablo yo. Pou rezon klè, pati espesifik tablo yo make ak espesifik tags:
- Kidonk, etap prensipal yo nan pòtaj yo se sa ki annapre yo:
- Ranplase stm32wl3x_it.h la file.
- Ranplase stm32wl3x_it.c la file.
- Ranplase prensipal la.h file epi mete ajou li: Kenbe definisyon ki ap dirije a ak bouton itilizatè a nan modèl LL a anba KONFIGRASYON ESPESIFIK BOARD. tags.
- Ranplase prensipal la.c file epi mete ajou li:
- Kenbe konfigirasyon revèy la nan fonksyon modèl SystemClock_Config() LL anba KONFIGURASYON ESPESIFIK BOARD. tags.
- Tou depan de definisyon ki ap dirije a, ranplase chak ensidan LDx ak yon lòt LDy ki disponib nan file prensipal.h.
- Avèk modifikasyon sa yo, ansyen anample kouri sou tablo a vize.
Aplikasyon RF, demonstrasyon, ak ansyenamples
Diferan kalite aplikasyon RF, demonstrasyon, ak ansyenamples yo disponib nan pake STM32CubeWL3 la.
Yo site nan de seksyon ki anba yo.
Sub-GHz examples ak demonstrasyon
Sa yo ansyenamples demontre karakteristik prensipal yo nan periferik radyo MRSUBG ak LPAWUR. Sa yo ansyenamples yo disponib anba:
- Pwojè\NUCLEO-WL33CC\Examples\MRSUBG
- Pwojè\NUCLEO-WL33CC\Examples\LPAWUR
- Pwojè\NUCLEO-WL33CC\Demonstrasyon\MRSUBG
- Pwojè\NUCLEO-WL33CC\Demonstrasyon\LPAWUR
Chak ansyenampLe oswa demonstrasyon jeneralman konsiste de de pwogram ki rele Tx ak Rx ki aji kòm transmetè ak reseptè, respektivman:
Examples/MRSUBG
- MRSUBG_802_15_4: yon aplikasyon kouch fizik ki defini nan estanda 802.15.4. Li montre kijan pou konfigirasyon radyo a pou transmèt oswa resevwa pakè 802.15.4.
- MRSUBG_BasicGeneric: Yon echanj STM32WL3x MR_SUBG pake debaz yo.
- MRSUBG_Chat: Yon aplikasyon senp ki montre kijan pou itilize Tx ak Rx sou menm aparèy la.
- MRSUBG_DatabufferHandler: Yon ansyenampchiyè ki montre kijan pou chanje soti nan Databuffer 0 ak 1.
- MRSUBG_Sequencer AutoAck: Yon ansyenampchiyè ki transmèt ak resevwa rekonesans pake (ACKs) otomatikman.
- MRSUBG_WMBusSTD: Yon echanj mesaj WM-Bus.
- WakeupRadio: Yon ansyenample pou teste periferik radyo LPAWUR.
Demonstrasyon/MRSUBG
- MRSUBG_RTC_Button_TX: Ansyen sa aample montre kouman yo mete SoC a nan mòd deep-stop ak konfigirasyon MRSUBG a reveye SoC a lè w peze PB2 voye yon ankadreman oswa apre ekspirasyon revèy RTC la.
- MRSUBG_Sequencer_Sniff: ansyen sa aample montre kijan pou mete sekansè MRSUBG pou opere nan mòd sniff. Ansyen sa aample demontre bò reseptè a epi li mande yon lòt aparèy kòm yon transmetè.
- MRSUBG_Timer: Aplikasyon an pwograme plizyè ka MRSUBG revèy (ak autoreload) ak diferan entèval tan.
- MRSUBG_WakeupRadio_Tx: Ansyen sa aample eksplike kijan pou mete SoC a nan mòd arè gwo twou san fon ak konfigirasyon MRSUBG a reveye SoC a pa peze PB2 voye yon ankadreman. Ansyen sa aample demontre bò transmetè a epi li mande pou yon lòt aparèy kòm yon reseptè LPAWUR. Reseptè a ansyenample sitiye anba katab NUCLEO-WL33CC\Demonstrations\LPAWUR\LPAWUR_WakeupRadio_Rx.
Manifestasyon/LPAWUR
- LPAWUR_WakeupRadio_Rx: Ansyen sa aample eksplike kijan pou mete SoC a nan mòd deep-stop ak konfigirasyon LPAWUR a reveye SoC a lè yon ankadreman rive epi yo resevwa kòrèkteman. Ansyen sa aample demontre bò reseptè a epi li mande yon lòt aparèy kòm yon transmetè. Transmetè a ansyenample sitiye anba katab NUCLEO-WL33CC\Demonstrations\MRSUBG\MRSUBG_WakeupRadio_Tx.
Aplikasyon Sigfox™
Aplikasyon sa yo montre kijan pou aplike yon senaryo Sigfox™ epi sèvi ak API Sigfox™ ki disponib yo. Yo disponib nan chemen pwojè Projects\NUCLEO-WL33CC\Applications\Sigfox\:
- Sigfox_CLI: Aplikasyon sa a montre kijan pou itilize yon koòdone liy kòmand (CLI) pou voye kòmandman ki sèvi ak pwotokòl Sigfox™ pou voye mesaj epi fè tès presètifikasyon.
- Sigfox_PushButton: Aplikasyon sa a pèmèt evalyasyon kapasite radyo STM32WL33xx Sigfox™. Peze PB1 transmèt yon ankadreman tès Sigfox™.
Istwa revizyon
Tablo 3. Istwa revizyon dokiman yo
Dat | Revizyon | Chanjman |
29-Mar-2024 | 1 | Premye lage. |
30-Oktòb-2024 | 2 | Entegrasyon konplè STM32CubeWL3 nan STM32Cube. Mizajou:
• Entwodiksyon • Seksyon 2: STM32CubeWL3 karakteristik prensipal yo • Seksyon 3.2.1: Konpozan middleware • Seksyon 4: STM32CubeWL3 firmwèr pake souview • Seksyon 5.1: Kouri yon premye ansyenample • Seksyon 5.3: aplikasyon RF, demonstrasyon, ak egzanpamples Te ajoute: • Seksyon 5.1.1: Ki jan yo kouri yon HAL example • Seksyon 5.2.1: Sèvi ak STM32CubeMX pou devlope oswa mete ajou yon aplikasyon • Seksyon 6.4: Èske gen nenpòt pwojè modèl pou MRSUBG/LPAWUR periferik ansyenamples? • Seksyon 6.5: Ki jan STM32CubeMX ka jenere kòd ki baze sou lojisyèl entegre? Retire: • Zouti PC, ki gen ladan Navigatè, STM32WL3 entèfas, ak MR-SUBG Sequencer GUI • Ki jan WiSE-Studio IOMapper ka jenere kòd ki baze sou lojisyèl entegre? • Èske Navigator pèmèt aksè nan resous pake lojisyèl? |
22 janvye 2025 | 3 | Elaji seri a nan aparèy aplikab nan STM32WL30xx ak mikrokontroleur STM32WL31xx nan Tablo 1. Macro pou liy pwodwi STM32WL3x. |
AVI ENPÒTAN – LI AK ATANSYON
- STMicroelectronics NV ak filiales li yo ("ST") rezève dwa pou fè chanjman, koreksyon, amelyorasyon, modifikasyon, ak amelyorasyon nan pwodwi ST ak/oswa nan dokiman sa a nenpòt ki lè san avètisman. Achtè yo ta dwe jwenn dènye enfòmasyon enpòtan sou pwodwi ST yo anvan yo mete lòd. Pwodwi ST yo vann daprè tèm ak kondisyon pou vann ST ki an plas nan moman rekonesans lòd la.
- Achtè yo se sèl responsab pou chwa, seleksyon, ak itilizasyon pwodwi ST yo epi ST pa sipoze okenn responsablite pou asistans aplikasyon oswa konsepsyon pwodwi achtè yo.
- Pa gen okenn lisans, eksprime oswa implicite, sou okenn dwa pwopriyete entelektyèl akòde pa ST nan la a.
- Revann pwodwi ST ak dispozisyon ki diferan de enfòmasyon ki endike nan la a pral anile nenpòt garanti ST akòde pou pwodui sa a.
- ST ak logo ST a se mak komèsyal ST. Pou plis enfòmasyon sou mak ST, al gade nan www.st.com/trademarks. Tout lòt non pwodwi oswa sèvis yo se pwopriyete pwopriyetè respektif yo.
- Enfòmasyon ki nan dokiman sa a ranplase epi ranplase enfòmasyon yo te bay anvan nan nenpòt vèsyon anvan dokiman sa a.
- © 2025 STMicroelectronics – Tout dwa rezève
FAQ
Kilè mwen ta dwe itilize HAL olye de chofè LL?
Chofè HAL yo ofri API wo nivo ak fonksyon oryante, ak yon wo nivo de portabilite. Pwodwi oswa konpleksite periferik kache pou itilizatè fen yo. Chofè LL yo ofri API nivo rejis ki ba ak pi bon optimize men mwens pòtab. Yo mande yon konesans pwofondè sou pwodwi oswa espesifikasyon IP.
Ki jan LL inisyalizasyon API yo aktive?
Definisyon API inisyalizasyon LL ak estrikti resous ki asosye literal ak pwototip kondisyone pa switch konpilasyon USE_FULL_LL_DRIVER. Pou kapab itilize API inisyalizasyon LL, ajoute switch sa a nan preprosesè zouti chèn konpilatè a.
Èske gen nenpòt pwojè modèl pou ansyen periferik MRSUBG/LPAWURamples?
Pou kreye yon nouvo MRSUBG oswa LPAWUR example pwojè, swa kòmanse nan pwojè kilè eskèlèt yo bay nan Pr ojectsNUCLEO- 33CC Ex.amples MRSUBG oswa ProjectsNUCLEO-WL33CC Egzamples LPAWUR oswa nan nenpòt pwojè ki disponib anba menm anyè sa yo.
Ki jan STM32CubeMX ka jenere kòd ki baze sou lojisyèl entegre?
STM32CubeMX gen yon konesans entegre nan mikrokontroleur STM32, ki gen ladan periferik yo ak lojisyèl, ki pèmèt li bay itilizatè a yon reprezantasyon grafik epi jenere .h oswa .c. files baze sou konfigirasyon itilizatè a.
Dokiman / Resous
![]() |
ST STM32WL3x Mikwokontroleur [pdfManyèl Itilizatè STM32WL3x Microcontrollers, STM32WL3x, Microcontrollers |