STM32WL3x-loigo

Pake lojisyèl STM32WL3x

STM32WL3x-Lojisyèl-Pake -PRODCUCT

Espesifikasyon

  • Non pwodwi: pake lojisyèl STM32CubeWL3
  • Konpatibilite: STM32WL3x mikrokontroleur
  • Karakteristik prensipal:
    • Low-kouch (LL) ak pyès ki nan konpitè abstraksyon kouch (HAL) APIs
    • SigfoxTM, FatFS, ak FreeRTOSTM eleman middleware nwayo
    • Aplikasyon ak demonstrasyon

Enstriksyon Itilizasyon Pwodwi

Kòmanse
Pou kòmanse itilize pake lojisyèl STM32CubeWL3, swiv etap sa yo:

  1. Telechaje pake lojisyèl an soti nan ofisyèl la websit.
  2. Enstale anviwònman devlopman ki nesesè yo (pa egzanp, STM32CubeIDE, EWARM, MDK-ARM).
  3. Gade ansyen anamples ak aplikasyon yo bay pou konsèy.

STM32CubeWL3 Achitekti souview
Pake lojisyèl STM32CubeWL3 la bati alantou twa nivo prensipal yo

  • Nivo 0: Materyèl abstraksyon kouch (HAL) ak chofè BSP.
  • Nivo 1: Aplikasyon, bibliyotèk, ak konpozan ki baze sou pwotokòl.

Kesyon yo poze souvan (FAQ)

K: Ki karakteristik prensipal yo nan pake lojisyèl STM32CubeWL3 la?
A: Karakteristik prensipal yo enkli API ki ba-kouch ak HAL, eleman middleware tankou SigfoxTM, FatFS, kernel FreeRTOSTM, aplikasyon, ak demonstrasyon.

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:

  • Yon seri zouti devlopman lojisyèl zanmitay 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.
Remak: 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 mikrokontroleur liy pwodwi STM32WL3x yo.
  • 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.

Figi 1. Konpozan pake STM32CubeWL3 MCU 

STM32WL3x-Lojisyèl-Pake (2)

STM32CubeWL3 achitekti souview

Solisyon pakè STM32CubeWL3 MCU a bati alantou twa nivo endepandan ki fasil kominike jan sa dekri nan Figi 2. STM32WL3x-Lojisyèl-Pake (3)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è a eleman bay API espesifik nan 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:
  1. API jenerik, ki bay fonksyon komen ak jenerik nan tout mikrokontroleur seri STM32 yo.
  2. 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è oryante 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.
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
stm32wl33 STM32WL33xx mikrokontwolè

STM32CubeWL3 prezante yon seri rich ansyenamples ak aplikasyon nan tout nivo, sa ki fè li fasil pou konprann epi sèvi ak nenpòt konpozan chofè HAL oswa middleware. Sa yo ansyenamples yo kouri sou tablo STMicroelectronics ki nan lis nan Tablo 2.

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 tou senpleman mete ajou chofè BSP yo nan 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 ki gen estrikti ki montre nan Figi 3.
Figi 3. STM32CubeWL3 firmwèr pake estrikti

STM32WL3x-Lojisyèl-Pake (4)

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. STM32WL3x-Lojisyèl-Pake (5)

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è Templ ates 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:

  1. Telechaje pakè STM32CubeWL3 MCU a.
  2. Dekonprime li, oswa kouri enstale a si li bay, nan yon anyè ou chwazi.
  3. 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.

  1. Navige nan \Projects\NUCLEO-WL33CC\Examples.
  2. Louvri dosye \GPIO, apresa \GPIO_EXTI.
  3. 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.
  4. Rebati tout files epi chaje imaj la nan memwa sib la.
  5. 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:
  1. Anba Examples, louvri sousdosye \EWARM la.
  2. Lanse espas travay Project.eww (non espas travay la ka chanje soti nan yon ansyenample nan yon lòt).
  3. Rebati tout files: [Pwojè]> [Rebati tout].
  4. Chaje imaj pwojè a: [Pwojè]> [Debug].
  5. Kouri pwogram nan: [Debug]> [Ale (F5)].
  • MDK-ARM:
  1. Anba Examples, louvri sousdosye \MDK-ARM la.
  2. Louvri espas travay Project.uvproj la (non espas travay la ka chanje soti nan yon ansyenample nan yon lòt).
  3. Rebati tout files: [Pwojè]> [Rebati tout sib files].
  4. Chaje imaj pwojè a: [Debug]> [Kòmanse/Stop Debug Sesyon].
  5. Kouri pwogram nan: [Debug]> [Kouri (F5)].
  • STM32CubeIDE:
  1. Louvri chèn zouti STM32CubeIDE.
  2. Klike sou [File]>[Chanje espas travay]>[Lòt] epi ale nan anyè espas travay STM32CubeIDE.
  3. Klike sou [File]>[Enpòte], chwazi [Jeneral]>[Pwojè ki deja egziste nan espas travay], epi klike sou [Next].
  4. Navige nan anyè espas travay STM32CubeIDE epi chwazi pwojè a.
  5. Rebati tout pwojè files: Chwazi pwojè a nan fenèt Project Explorer a epi klike sou la
    [Pwojè]> [Konstwi pwojè] meni.
  6.  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:

  1. 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).
  2. 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:

  1. Kreye yon pwojè
    Pou kreye yon nouvo pwojè, kòmanse swa nan pwojè Modèl yo bay pou chak tablo anba \Projects\< STM32xxx_yyy>\Templates oswa nan nenpòt pwojè ki disponib anba \Projects\. \Egzampl es oswa \Projects\ \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è STM32CubeWL32 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.
  2. 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 _template la bezwen 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.
  3. 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 stm3 2wl3x_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.
  4. 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.
  5. 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.
  6. 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 se
bloke. Fonksyon ki afekte konfigirasyon baz tan yo deklare kòm __fèb pou rann ranplasman posib nan ka ta gen lòt aplikasyon nan itilizatè a. file (itilize yon revèy jeneral, pa 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.

  1. 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\ \E xamples_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.
  2. Pòt LL example:
    • Kopi/kole katab Templates_LL - pou kenbe sous inisyal la - oswa dirèkteman mete ajou yon pwojè Templa tes_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:
      STM32WL3x-Lojisyèl-Pake (1)

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_WakeupRad io_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_WakeupRad io_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™.

FAQ

  1. 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 enskripsyon ki ba, ak pi bon optimize men mwens pòtab. Yo mande yon konesans pwofondè sou pwodwi oswa espesifikasyon IP.
  2. Èske chofè HAL ak LL ka itilize ansanm? Si wi, ki kontrent yo?
    Li posib pou itilize tou de chofè HAL ak LL. Sèvi ak HAL pou faz inisyalizasyon periferik la epi jere operasyon I/O yo ak chofè LL yo.
    Pi gwo diferans ki genyen ant HAL ak LL se ke chofè HAL oblije kreye epi sèvi ak manch pou jesyon operasyon pandan y ap chofè LL yo opere dirèkteman sou rejis periferik yo. Melanje HAL ak LL ilistre nan egzanp lanamples_MIX examples.
  3. Ki jan LL inisyalizasyon API yo aktive?
    Definisyon API inisyalizasyon LL ak resous ki asosye (estrikti, 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.
  4. È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 anba \Pr ojects\NUCLEO-WL33CC\Examples\MRSUBG oswa \Projects\NUCLEO-WL33CC\Examples\LPAWUR, oswa nan nenpòt pwojè ki disponib anba menm anyè sa yo.
  5. 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.

Istwa revizyon

Tablo 3. Istwa revizyon dokiman yo

Dat Revizyon Chanjman
29-Mar-2024 1 Premye lage.
30-Oktòb-2024 2 Entegrasyon konplè nan STM32CubeWL3 in STM32Cube. Mizajou:

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?

Dokiman / Resous

Pake lojisyèl ST STM32WL3x [pdfEnstriksyon yo
Pake lojisyèl STM32WL3x, STM32WL3x, pake lojisyèl, pake

Referans

Kite yon kòmantè

Adrès imel ou p ap pibliye. Jaden obligatwa yo make *