ST-LOGOA

STM32WL3x Mikrokontrolagailuak

STM32WL3x-Mikrokontrolagailuak-PRODUKTUA

Produktuak erabiltzeko jarraibideak

  • STM32CubeWL3 paketeak mikrokontrolagailuaren hardwarea estaltzen duten behe-geruza (LL) eta hardware-abstrakzio-geruza (HAL) APIak biltzen ditu.
  • SigfoxTM, FatFS eta FreeRTOS nukleoa bezalako middleware osagaiak ere eskaintzen ditu.
  • Paketea adibidearekin datorampfitxategiak eta aplikazioak erraz ezartzeko.
  • STM32CubeWL3 arkitektura hiru mailatan eraikita dago: Aplikazioak, HAL eta LL.
  • HAL eta LL APIek aplikazioen eskakizun ugari estaltzen dituzte.
  • HALek oinarrizko erabilera periferikoa eskaintzen du, adibidezamples, eta LLk maila baxuko errutinak eskaintzen ditu.
  • Maila honek Board Support Package (BSP) eta HAL azpigeruzak barne hartzen ditu.
  • BSP-k hardware-osagaietarako APIak eskaintzen ditu plaketan, eta HALek, berriz, oinarrizko periferikoen erabilera eskaintzen du, adibidezamples.
  • BSP kontrolatzaileek osagaien kontrolatzaileak plaka espezifikoekin lotzen dituzte, beste hardware batera eramatea erraztuz.
  • STM32CubeWL3 HAL eta LL osagarriak dira, eta aplikazio-eskakizun ugari estaltzen dituzte.
  • Erabiltzaileek API hauek aprobetxa ditzakete mikrokontrolagailuaren hardwarearekin modu eraginkorrean elkarreragiteko.

Sarrera

STM32Cube STMicroelectronics-en jatorrizko ekimena da, diseinatzaileen produktibitatea nabarmen hobetzeko garapen-esfortzua, denbora eta kostua murriztuz. STM32Cube STM32 zorro osoa estaltzen du. STM32Cube-k barne hartzen ditu:

STM32Cube-k barne hartzen ditu:

  • Softwarea garatzeko tresna erabilerrazak diren proiektuen garapena sorreratik gauzatu arte estaltzeko, besteak beste:
    • STM32CubeMX, morroi grafikoen bidez C hasierako kodea automatikoki sortzea ahalbidetzen duen software konfiguraziorako tresna grafikoa.
    • STM32CubeIDE, periferikoen konfigurazio, kodea sortzea, kodea konpilatzea eta arazketa funtzioak dituen garapen-tresna bat.
    • STM32CubeCLT, komando-lerroko garapen-tresna bateratu bat, kode konpilazio, plaken programazio eta arazketa eginbideekin
    • STM32CubeProgrammer (STM32CubeProg), grafiko eta komando lerroko bertsioetan eskuragarri dagoen programazio tresna bat
    • STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), monitorizazio tresna indartsuak STM32 aplikazioen portaera eta errendimendua denbora errealean doitzeko.
  • STM32Cube MCU eta MPU paketeak, mikrokontrolagailu eta mikroprozesadore serie bakoitzerako txertatutako software plataforma integralak (adibidez, STM32CubeWL3 STM32WL3x produktu-lerrorako), besteak beste:
    • STM32Cube hardware abstrakzio geruza (HAL), STM32 zorroan eramangarritasun handiena bermatuz
    • STM32Cube geruza baxuko APIak, errendimendu eta aztarna onena bermatuz erabiltzaileak hardwarearen gaineko kontrol maila altuarekin
    • Middleware osagaien multzo koherentea, hala nola FreeRTOS™ kernel, FatFS eta Sigfox™
    • Kapsulatutako software utilitate guztiak periferiko eta aplikazio multzo osoekin, adibidezamples
  • STM32Cube Hedapen Paketeak, STM32Cube MCU eta MPU paketeen funtzionalitateak osatzen dituzten software osagai txertatuak dituztenak:
    • Middleware hedapenak eta geruza aplikatiboak
    • ExampSTMicroelectronics garapen-plaka espezifiko batzuetan exekutatzen diren fitxategiak
  • Erabiltzailearen eskuliburu honek STM32CubeWL3 MCU paketearekin nola hasi deskribatzen du.

2. atalak STM32CubeWL3-ren ezaugarri nagusiak deskribatzen ditu eta 3. atalak gaina ematen duview bere arkitekturaz eta MCU paketearen egituraz.

Informazio orokorra

  • STM32CubeWL3 GHz azpiko erakustaldi aplikazioak exekutatzen ditu, Sigfox™ bitarrak barne, Arm® Cortex®-M32+ prozesadorean oinarritutako STM3WL0x produktu-lerroko mikrokontrolagailuetan.
  • STM32WL3x mikrokontrolagailuek STMicroelectronics-en azken belaunaldiko RF irrati periferikoak txertatzen dituzte, potentzia oso baxuko kontsumorako eta irrati-errendimendu bikaina lortzeko, bateriaren iraupen paregaberako.

Oharra: Arm Arm Limited-en (edo haren filialen) marka erregistratua da AEBetan eta / edo beste leku batzuetan.

STM32WL3x-Mikrokontrolagailuak-FIG-1

STM32CubeWL3 ezaugarri nagusiak

  • STM32CubeWL3 MCU paketea Arm® Cortex®-M32+ prozesadorean oinarritutako STM32 0 biteko mikrokontrolagailuetan exekutatzen da. Pakete bakarrean, aplikazio bat garatzeko beharrezkoak diren kapsulatutako software osagai generiko guztiak biltzen ditu STM32WL3x produktu-lerroa mikrokontrolagailuak.
  • Paketeak mikrokontrolagailuaren hardwarea estaltzen duten geruza baxuko (LL) eta hardware-abstrakzio-geruza (HAL) APIak biltzen ditu, ex multzo zabal batekin batera.ampSTMicroelectronics plaketan exekutatzen diren fitxategiak. HAL eta LL APIak kode irekiko BSD lizentzia batean daude erabilgarri erabiltzailearen erosotasunerako. Sigfox™, FatFS eta FreeRTOS™ nukleoaren middleware osagaiak ere biltzen ditu.
  • STM32CubeWL3 MCU paketeak ere hainbat aplikazio eta erakustaldi eskaintzen ditu bere middleware osagai guztiak inplementatzen dituztenak.
  • STM32CubeWL3 MCU paketearen osagaien diseinua 1. irudian azaltzen da.

STM32WL3x-Mikrokontrolagailuak-FIG-2

STM32CubeWL3 arkitektura amaitu daview

  • STM32CubeWL3 MCU Package irtenbidea 2. Irudian deskribatzen den moduan elkarreragina erraz duten hiru maila independenteren inguruan eraikita dago.

STM32WL3x-Mikrokontrolagailuak-FIG-3

0 maila
Maila hau hiru azpigeruzatan banatzen da:

  • Board laguntza paketea (BSP).
  • Hardwarearen abstrakzio-geruza (HAL):
    • HAL kontrolatzaile periferikoak
    • Behe-geruzako gidariak
  • Oinarrizko erabilera periferikoa adibidezamples.

Board laguntza paketea (BSP)
Geruza honek hardware-plaketako hardware-osagaiekiko API multzo bat eskaintzen du (adibidez, LEDak, botoiak eta COM kontrolatzaileak). Bi zatiz osatuta dago:

Osagaia:

  • Hau da plakako kanpoko gailuarekiko kontrolatzailea eta ez STM32-rekin. Osagaien kontrolatzaileak API zehatzak eskaintzen dizkie BSP kontrolatzailearen kanpoko osagaiei eta eramangarria izan daiteke beste edozein plakatan.
    • BSP kontrolatzailea:
  • Osagaien kontrolatzaileak plaka zehatz batekin lotzea ahalbidetzen du eta erabilerrazak diren API multzo bat eskaintzen du. API izendatzeko araua BSP_FUNCT_Action() da.
  • Exampfitxategia: BSP_LED_Init(), BSP_LED_On()

BSP arkitektura modular batean oinarritzen da, edozein hardwaretara erraz eraman ahal izateko, maila baxuko errutinak ezarriz.

Hardwarearen abstrakzio-geruza (HAL) eta behe-geruza (LL)

STM32CubeWL3 HAL eta LL osagarriak dira eta aplikazio-eskakizun ugari estaltzen dituzte:

  • HAL kontrolatzaileek goi-mailako funtzioetara bideratutako API eramangarriak eskaintzen dituzte. MCU eta konplexutasun periferikoa ezkutatzen dizkiote azken erabiltzaileari.
    HAL kontrolatzaileek instantzia anitzeko funtzioetara bideratutako API generikoak eskaintzen dituzte, erabiltzailearen aplikazioaren ezarpena errazten dutenak erabiltzeko prest dauden prozesuak eskainiz. Adibidezample, komunikazio periferikoetarako (I2C, UART eta beste), APIak eskaintzen ditu periferikoa hasieratzeko eta konfiguratzeko aukera ematen dutenak, datu-transferentziak inkesta, eten edo DMA prozesuetan oinarrituta kudeatzeko eta komunikazioan sor daitezkeen komunikazio-akatsak kudeatzeko. HAL kontrolatzaileen APIak bi kategoriatan banatzen dira:
    • API generikoak, STM32 serieko mikrokontrolagailu guztiei funtzio komunak eta generikoak ematen dizkietenak.
    • Luzapen APIak, familia jakin baterako edo pieza-zenbaki zehatz baterako funtzio zehatzak eta pertsonalizatuak eskaintzen dituztenak.
  • Geruza baxuko APIek maila baxuko APIak eskaintzen dituzte erregistro mailan, optimizazio hobearekin baina eramangarritasun gutxiagorekin.
    MCUaren eta periferikoen zehaztapenen ezagutza sakona behar dute.
    LL kontrolatzaileak HAL baino hardwaretik hurbilago dagoen geruza arin eta arin eta bizkorra eskaintzeko diseinatuta daude. HALen aurka, LL APIak ez dira eskaintzen periferikoetarako, non sarbide optimizatua funtsezko ezaugarria ez den, edo software konfigurazio astuna edo goi-mailako pila konplexua behar dutenentzat.
    LL gidarien ezaugarria:
  • Datu-egituretan zehaztutako parametroen arabera ezaugarri nagusiak periferikoak hasieratzeko funtzio multzoa.
  • Hasierako datuen egiturak eremu bakoitzari dagozkion berrezarri balioekin betetzeko funtzio multzoa.
  • Periferikoen desinicializaziorako funtzioa (erregistro periferikoak lehenetsitako balioetara berrezarri dira).
  • Erregistro zuzenean eta atomikorako sarbide zuzeneko funtzio multzo bat.
  • HALarekiko independentzia osoa eta modu autonomoan erabiltzeko gaitasuna (HAL kontrolatzailerik gabe).
  • Onartutako funtzio periferikoen estaldura osoa.

Oinarrizko erabilera periferikoa adibidezamples
Geruza honek exampSTM32 periferikoen gainean eraikitako fitxategiak HAL eta BSP baliabideak soilik erabiliz.
Oharra: Manifestazioa adibidezampex. konplexuagoak erakusteko ere eskuragarri daudeampperiferiko espezifikoak dituzten eszenatokiak, hala nola MRSUBG eta LPAWUR.

1 maila
Maila hau bi azpigeruzatan banatzen da:

  • Middleware osagaiak
  • Exampmiddleware osagaietan oinarritutako fitxategiak

Middleware osagaiak
Middleware FreeRTOS™ nukleoa, FatFS eta Sigfox™ protokolo liburutegia biltzen dituen liburutegi multzo bat da.
Geruza honen osagaien arteko interakzio horizontala aipagarri diren APIei deituz egiten da.
Geruza baxuko kontrolatzaileekin elkarreragin bertikala liburutegi-sistemako dei-interfazean inplementatutako dei-atzera eta makro estatiko espezifikoen bidez egiten da.
Middleware osagai bakoitzaren ezaugarri nagusiak hauek dira:

  • FreeRTOS™ nukleoa: denbora errealeko sistema eragilea (RTOS) ezartzen du, sistema txertatuetarako diseinatua.
  • Sigfox™: Sigfox™ protokolo-sarearekin bat datorren Sigfox™ protokolo-liburutegia inplementatzen du eta RF test-protokolo-liburutegia barne hartzen du RF Sigfox™ tresnekin probatzeko.
  • FatFS: FAT generikoa inplementatzen du file sistemaren modulua.

Exampmiddleware osagaietan oinarritutako fitxategiak

  • Middleware osagai bakoitza ex bat edo gehiagorekin datoramples, aplikazioak ere deituak, nola erabili erakusten dutenak.
  • Integrazioa adibamphainbat middleware osagai erabiltzen dituzten fitxategiak ere eskaintzen dira.

STM32CubeWL3 firmware paketea amaitu daview

Onartutako STM32WL3x gailuak eta hardwarea

  • STM32 Kuboa arkitektura generiko baten inguruan eraikitako hardware-abstrakzio-geruza (HAL) oso eramangarria eskaintzen du. Geruzak eraikitzeko printzipioa ahalbidetzen du, adibidez, middleware geruza erabiltzea beren funtzioak ezartzeko, sakonki, zer MCU erabiltzen den jakin gabe. Honek liburutegiko kodea berrerabilgarritasuna hobetzen du eta beste gailu batzuetarako eramangarritasun erraza bermatzen du.
  • Horrez gain, bere geruzadun arkitekturarekin, STM32CubeWL3 STM32WL3x produktu-lerro guztientzako laguntza osoa eskaintzen du.
  • Erabiltzaileak makro egokia soilik definitu behar du stm32wl3x.h-n.
  • 1. taulak definitzeko makroa erakusten du erabilitako STM32WL3x produktu-lerroaren gailuaren arabera. Makro hau konpiladorearen aurreprozesadorean ere definitu behar da.

1. taula. STM32WL3x produktu-lerrorako makroak

urtean definitutako makroa STM32WL3X.h STM32WL3x produktu-lerroko gailuak
stm32wl3x STM32WL30xx mikrokontrolagailuak STM32WL31xx mikrokontrolagailuak STM32WL33xx mikrokontrolagailuak

2. taula. STM32WL3x produktu-lerrorako taulak

Kontseilua STM32WL3x plaka onartzen duten gailuak
NUKLEO-WL33CC1 STM32WL33CC
NUKLEO-WL33CC2 STM32WL33CC

STM32CubeWL3 MCU paketea edozein hardware bateragarritan exekutatu daiteke. Erabiltzaileek BSP kontrolatzaileak eguneratzen dituzte emandako exampberen plaketan, horiek hardware-ezaugarri berdinak badituzte (adibidez, LEDak edo botoiak).

Firmware paketea amaitu daview

  • STM32CubeWL3 MCU Package irtenbidea zip pakete bakarrean eskaintzen da, 3. Irudian agertzen den egiturarekin.

STM32WL3x-Mikrokontrolagailuak-FIG-4

Kontuz: Erabiltzaileak ez ditu osagaiak aldatu behar files. Erabiltzaileak \Projects iturriak soilik edita ditzake. Taula bakoitzeko, adibide multzo batamples EWARM, MDK-ARM eta STM32CubeIDE tresna-kateetarako aurrez konfiguratutako proiektuak eskaintzen ditu.
4. irudiak NUCLEO-WL33CCx plaken proiektuaren egitura erakusten du.

STM32WL3x-Mikrokontrolagailuak-FIG-5

Adibampfitxategiak aplikatzen zaien STM32CubeWL3 mailaren arabera sailkatzen dira. Honela izendatzen dira:

  • 0 maila adibamples deitzen dira Examples, Adibamples_LL, eta Examples_MIX. HAL kontrolatzaileak, LL kontrolatzaileak eta HAL eta LL kontrolatzaileak nahasketa bat erabiltzen dituzte, middleware osagairik gabe. Manifestazioa adibidezamplek ere eskuragarri daude.
  • 1 maila adibampAplikazioak deitzen dira. Middleware osagai bakoitzaren erabilera kasu tipikoak eskaintzen dituzte.

Plaka jakin baterako edozein firmware-aplikazio azkar eraiki daiteke Templates eta Templates_LL direktorioetan dauden txantiloi-proiektuak erabiliz.
Examples, Adibamples_LL, eta Examples_MIX egitura bera dute:

  • Goiburu guztia duen \Inc karpeta files.
  • Iturburu kodea duen \Src karpeta.
  • \EWARM, \MDK-ARM eta \STM32CubeIDE erreminta-kate bakoitzeko aurrekonfiguratutako proiektua duten karpetak.
  • readme.md eta readme.html example jokabidea eta behar den ingurunea funtzionatzeko.

STM32CubeWL3-rekin hastea

Lehenengo ex bat exekutatzenample
Atal honetan azaltzen da zein erraza den lehen ex bat exekutatzekoample STM32CubeWL3 barruan. Ilustrazio gisa NUCLEO-WL33CC1 plakan martxan dagoen LED etengailu soil baten sorrera erabiltzen du:

  1. Deskargatu STM32CubeWL3 MCU paketea.
  2. Deskonprimitu edo exekutatu instalatzailea zure aukeratutako direktorio batean.
  3. Ziurtatu 3. Irudian agertzen den paketeen egitura ez duzula aldatzen. STM32CubeWL3 firmware paketeen egitura. Kontuan izan paketea erro-bolumenetik hurbil dagoen toki batean kopiatzea ere gomendatzen dela (C:\ST edo G:\Tests alegia), IDE batzuek arazoak izaten baitituzte bidea luzeegia denean.

Nola exekutatu HAL adibidezample
Ex bat kargatu eta exekutatu aurretikample, gomendagarria da adibample readme file edozein konfigurazio zehatzetarako.

  1. Arakatu \Proiektuak\NUCLEO-WL33CC\Examples.
  2. Ireki \GPIO, gero \GPIO_EXTI karpetak.
  3. Ireki proiektua hobetsitako tresna-katearekin. Azkar batview ex bat nola ireki, eraiki eta exekutatuampOnartutako tresna-kateekin le-a behean ematen da.
  4. Guztiak berreraiki files eta kargatu irudia xede memorian.
  5. Exekutatu example. Xehetasun gehiagorako, ikus adibideaample readme file.

Ex. bat ireki, eraiki eta exekutatzekoamponartzen diren tresna-kate bakoitzarekin, jarraitu urrats hauek:

  • EWARM:
    1. Adibamples karpeta, ireki \EWARM azpikarpeta.
    2. Abiarazi Project.eww lan-eremua (lan-eremuaren izena alda daiteke adibide batetikample beste bati).
    3. Guztiak berreraiki files: [Proiektua]> [Dena berreraiki].
    4. Kargatu proiektuaren irudia: [Proiektua]> [Araztu].
    5. Exekutatu programa: [Araztu]> [Joan (F5)].
  • MDK-ARM:
    1. Adibamples karpeta, ireki \MDK-ARM azpikarpeta.
    2. Ireki Project.uvproj lan-eremua (lan-eremuaren izena alda daiteke adibide batetikample beste bati).
    3. Guztiak berreraiki files: [Proiektua]> [Helburu guztiak berreraiki files].
    4. Kargatu proiektuaren irudia: [Araztu]> [Hasi/Gelditu arazketa saioa].
    5. Exekutatu programa: [Araztu]> [Exekutatu (F5)].
  • STM32CubeIDE:
    1. Ireki STM32CubeIDE tresna-katea.
    2. Sakatu [File]>[Aldatu lan-eremua]>[Beste batzuk] eta arakatu STM32CubeIDE lan-eremuaren direktorioa.
    3. Sakatu [File]>[Inportatu], hautatu [Orokorra]>[Existing Projects into Workspace], eta sakatu [Hurrengoa].
    4. Arakatu STM32CubeIDE lan-eremuaren direktoriora eta hautatu proiektua.
    5. Proiektu guztia berreraiki files: Hautatu proiektua Project Explorer leihoan eta egin klik [Proiektua]> [Eraiki proiektua] menuan.
    6. Exekutatu programa: [Exekutatu]> [Araztu (F11)].

Aplikazio pertsonalizatu bat garatzea

STM32CubeMX erabiltzea aplikazio bat garatzeko edo eguneratzeko

  • STM32Cube MCU paketean, proiektu ia guztiak adibidezampfitxategiak STM32CubeMX tresnarekin sortzen dira sistema, periferikoak eta middlewarea hasieratzeko.

Lehendik dagoen proiektu baten erabilera zuzena adibidezampSTM32CubeMX tresnaren fitxategiak STM32CubeMX 6.12.0 edo berriagoa behar du:

  • STM32CubeMX instalatu ondoren, ireki eta behar izanez gero eguneratu proposatutako proiektu bat.
    Lehendik dagoen proiektu bat irekitzeko modurik errazena *.ioc-en klik bikoitza egitea da file horrela, STM32CubeMX automatikoki irekiko ditu proiektua eta bere iturria files. STM32CubeMX horrelako proiektuen hasierako iturburu kodea sortzen du.
  • Aplikazioaren iturburu-kode nagusia "USER CODE BEGIN" eta "USER CODE END" iruzkinek jasotzen dute. Periferikoen hautaketa eta ezarpenak aldatzen badira, STM32CubeMX-ek kodearen hasierako zatia eguneratzen du aplikazioaren iturburu-kode nagusia mantenduz.
  • STM32CubeMX-rekin pertsonalizatutako proiektu bat garatzeko, jarraitu urratsez urrats prozesua:
    1. Konfiguratu behar den kapsulatutako software guztia pinout-gatazkaren konpontzailea, erloju-zuhaitz ezarpenaren laguntzailea, energia-kontsumoaren kalkulagailua eta MCU periferikoen konfigurazioa egiten duen utilitatea (adibidez, GPIO edo USART).
    2. Sortu hasierako C kodea hautatutako konfigurazioan oinarrituta. Kode hau hainbat garapen-ingurunetan erabiltzeko prest dago. Erabiltzaile-kodea hurrengo kode-sorkuntzan gordetzen da.
      STM32CubeMX-i buruzko informazio gehiago lortzeko, ikusi STM32CubeMX erabiltzailearen eskuliburua STM32 konfiguraziorako eta hasierako C kodea sortzeko (UM1718).

Gidari aplikazioak
HAL aplikazioa
Atal honetan STM32CubeWL3 erabiliz HAL aplikazio pertsonalizatu bat sortzeko beharrezkoak diren urratsak deskribatzen dira

  1. Proiektu bat sortu
    Proiektu berri bat sortzeko, hasi \Proiektuak\ arbel bakoitzari emandako Txantiloi proiektutik. \Tantiloiak edo eskuragarri dauden edozein proiektutatik \Proiektuak\ atalean \Adibampfitxategiak edo \Proiektuak\ \Aplikazioak (non taularen izenari egiten dio erreferentzia).
    Txantiloi proiektuak begizta funtzio nagusi huts bat eskaintzen du. Hala ere, abiapuntu ona da STM32CubeWL3 proiektuaren ezarpenak ulertzeko. Txantiloiak ezaugarri hauek ditu:
    • HAL iturburu-kodea, CMSIS eta BSP kontrolatzaileak ditu, hau da, plaka jakin batean kode bat garatzeko behar den gutxieneko osagai multzoa.
    • Firmware osagai guztien barne dauden bideak ditu.
    • Onartutako STM32WL3x produktu-lerroko gailuak definitzen ditu, CMSIS eta HAL kontrolatzaileak behar bezala konfiguratzeko aukera emanez.
    • Erabiltzeko prest dagoen erabiltzailea eskaintzen du fileAurrekonfiguratuta dago behean erakusten den moduan:
    • HAL hasierako denbora-base lehenetsiarekin Arm® core SysTick-rekin.
    • SysTick ISR inplementatu da HAL_Delay() helburuetarako.
    • Oharra: lehendik dagoen proiektu bat beste kokapen batera kopiatzean, ziurtatu sartutako bide guztiak eguneratuta daudela.
  2. Konfiguratu firmware osagaiak
    HAL eta middleware osagaiek eraikitzeko garaiko konfigurazio aukera multzo bat eskaintzen dute goiburu batean deklaratutako #define makroak erabiliz file. Txantiloiaren konfigurazioa file osagai bakoitzaren barruan ematen da, eta proiektuaren karpetara kopiatu behar da (normalean konfigurazioa file xxx_conf_template.h izena du, zatia
    • txantiloia kendu behar da proiektuaren karpetara kopiatzean). Konfigurazioa file informazio nahikoa ematen du konfigurazio-aukera bakoitzaren eragina ulertzeko. Informazio zehatzagoa osagai bakoitzari emandako dokumentazioan eskuragarri dago.
  3. Hasi HAL liburutegia
    Programa nagusira salto egin ondoren, aplikazio-kodeak HAL_Init() API-ra deitu behar du HAL liburutegia hasieratzeko, eta honek zeregin hauek egiten ditu:
    • Flash memoriaren pretetch-aren eta SysTick-en etenaren lehentasunaren konfigurazioa (stm32 wl3x_hal_conf.h-n definitutako makroen bidez).
    • SysTick-en konfigurazioa, stm32wl3x_hal_conf.h-n definitutako SysTick-en etenaldi-lehentasunezko TICK_INT_PRIO milisegundo bakoitzean eten bat sortzeko.
    • NVIC taldearen lehentasuna 0-n ezartzea.
    • stm32wl3x_hal_msp.c erabiltzailean definitutako HAL_MspInit() dei-itzulera funtzioaren deia file maila baxuko hardware hasierako globalak egiteko.
  4. Konfiguratu sistemako erlojua
    Sistemaren erlojuaren konfigurazioa behean deskribatzen diren bi APIetara deituz egiten da:
    • HAL_RCC_OscConfig(): API honek barneko eta kanpoko osziladoreak konfiguratzen ditu. Erabiltzaileak aukeratzen du
      konfiguratu osziladore bat edo guztiak.
    • HAL_RCC_ClockConfig(): API honek sistemako erloju-iturburua, flash-memoriaren latentzia eta AHB eta APB aurre-eskalatzaileak konfiguratzen ditu.
  5. Hasieratu periferikoa
    • Lehenik eta behin idatzi periferiko hasierako funtzioa. Jarraitu honela:
    • Gaitu erloju periferikoa.
    • Konfiguratu GPIO periferikoak.
    • Konfiguratu DMA kanala eta gaitu DMA etenaldia (beharrezkoa bada).
    • Gaitu eten periferikoa (beharrezkoa bada).
    • Editatu stm32xxx_it.c behar diren eten kudeatzaileei (periferikoa eta DMA) deitzeko, behar izanez gero.
    • Idatzi prozesu osoa itzultzeko funtzioak etenaldi periferiko bat edo DMA erabili nahi bada.
    • Erabiltzaile nagusian.c file, hasieratu helduleku-egitura periferikoa eta gero deitu periferikoaren hasierako funtzioari periferikoa hasieratzeko.
  6. Aplikazio bat garatu
    s honetantage, sistema prest dago eta erabiltzailearen aplikazio-kodearen garapena has daiteke.
    HAL-ek API intuitiboak eta erabiltzeko prest eskaintzen ditu periferikoa konfiguratzeko. Galdeketak, etenak eta DMA programazio eredua onartzen ditu, edozein aplikazio eskakizun egokitzeko. Periferiko bakoitza erabiltzeko moduari buruzko xehetasun gehiago lortzeko, jo ezazu adibide aberatsaampSTM32CubeWL3 MCU paketean emandako fitxategi multzoa.

Kontuz: HAL inplementazio lehenetsian, SysTick tenporizadorea denbora-base gisa erabiltzen da: etenaldiak sortzen ditu denbora-tarte erregularretan. HAL_Delay() ISR prozesu periferikotik deitzen bada, ziurtatu SysTick etenaldiak lehentasun handiagoa duela (zenbakiz txikiagoa) etenaldi periferikoak baino. Bestela, deitzen duen ISR prozesua blokeatuta dago. Denbora-basearen konfigurazioei eragiten dieten funtzioak __ahul gisa deklaratzen dira erabiltzailearen beste inplementazioen kasuan gainidatzi ahal izateko. file (erabilera orokorreko tenporizadore bat erabiliz, adibidezample, edo beste denbora-iturri). Xehetasun gehiago lortzeko, ikusi HAL_TimeBase adibample.

LL aplikazioa
Atal honetan STM32CubeWL3 erabiliz LL aplikazio pertsonalizatu bat sortzeko beharrezkoak diren urratsak deskribatzen dira.

  1. Proiektu bat sortu
    Proiektu berri bat sortzeko, hasi \Proiektuak\ arbel bakoitzari emandako Templates_LL proiektutik. \Templates_LL edo eskuragarri dagoen edozein proiektutatik \Proiektuak\ \Adibamples_ LL ( taularen izenari egiten dio erreferentzia, esate baterako, NUCLEO-WL32CC33).
    Txantiloiaren proiektuak hutsik dagoen begizta funtzio nagusi bat eskaintzen du, STM32CubeWL3-ren proiektuaren ezarpenak ulertzeko abiapuntu ona dena. Txantiloiaren ezaugarri nagusiak hauek dira:
    • LL eta CMSIS kontrolatzaileen iturburu-kodeak ditu, hau da, plaka jakin batean kodea garatzeko behar den gutxieneko osagai multzoa.
    • Beharrezko firmware osagai guztien barne dauden bideak ditu.
    • Onartutako STM32WL3x produktu-lerroko gailua hautatzen du eta CMSIS eta LL kontrolatzaileen konfigurazio zuzena ahalbidetzen du.
    • Erabiltzeko prest dagoen erabiltzailea eskaintzen du filehonela aldez aurretik konfiguratuta daudenak:
    • main.h: LED eta USER_BUTTON definizio abstrakzio-geruza.
    • main.c: Sistemaren erlojuaren konfigurazioa maiztasun maximorako.
  2. Portu LL adibidezample:
    • Kopiatu/itsatsi Templates_LL karpeta – hasierako iturria mantentzeko – edo zuzenean eguneratu lehendik dagoen Template s_LL proiektu bat.
    • Ondoren, portatzea Templates_LL ordezkatzean datza nagusiki files Adibamples_LL zuzendutako proiektua.
    • Mantendu taularen zati zehatz guztiak. Argitasun arrazoiengatik, taularen zati espezifikoak espezifiko batekin markatzen dira tags:STM32WL3x-Mikrokontrolagailuak-FIG-6
    • Beraz, porturatzeko urrats nagusiak hauek dira:
    • Ordeztu stm32wl3x_it.h file.
    • Ordeztu stm32wl3x_it.c file.
    • Nagusia ordezkatu.h file eta eguneratu: mantendu LL txantiloiaren LED eta erabiltzailearen botoiaren definizioa TAULA KONFIGURAZIO BERARIAZKO pean tags.
    • Nagusia ordezkatu.c file eta eguneratu:
    • Mantendu SystemClock_Config() LL txantiloiaren funtzioaren erlojuaren konfigurazioa TABLEKO KONFIGURAZIO BERARIAZKO pean tags.
    • LED definizioaren arabera, ordezkatu LDx agerraldi bakoitza eskuragarri dagoen beste LDy batekin file nagusia.h.
    • Aldaketa hauekin, example helburuko taulan exekutatzen da.

RF aplikazioak, erakustaldiak eta adibidezamples
RF aplikazio mota desberdinak, erakustaldiak eta adibidezampfitxategiak STM32CubeWL3 paketean daude eskuragarri.
Beheko bi ataletan zerrendatzen dira.

Sub-GHz adibidezamples eta erakustaldiak
Hauek adibidezampMRSUBG eta LPAWUR irrati-periferikoen ezaugarri nagusiak erakusten dituzte. Hauek adibidezampfitxategiak hemen daude eskuragarri:

  • Proiektuak\NUCLEO-WL33CC\Examples\MRSUBG
  • Proiektuak\NUCLEO-WL33CC\Examples\LPAWUR
  • Proiektuak\NUCLEO-WL33CC\Demonstrations\MRSUBG
  • Proiektuak\NUCLEO-WL33CC\Demonstrations\LPAWUR

AdibampLe edo erakustaldia, oro har, Tx eta Rx izeneko bi programak osatzen dute igorle eta hartzaile gisa jarduten dutenak, hurrenez hurren:

Examples/MRSUBG

  • MRSUBG_802_15_4: 802.15.4 estandarrak definitutako geruza fisikoaren ezarpena. Irratia nola konfiguratu 802.15.4 paketeak transmititzeko edo jasotzeko erakusten du.
  • MRSUBG_BasicGeneric: STM32WL3x MR_SUBG oinarrizko paketeen trukea.
  • MRSUBG_Chat: Tx eta Rx gailu berean nola erabili erakusten duen aplikazio sinplea.
  • MRSUBG_DatabufferHandler: AdibampDatabuffer 0 eta 1-tik nola aldatu erakusten duen fitxategia.
  • MRSUBG_Sequencer AutoAck: Adibamppaketeen aitorpenak (ACK) automatikoki transmititzen eta jasotzen dituen fitxategia.
  • MRSUBG_WMBusSTD: WM-Bus mezuen trukea.
  • WakeupRadio: Adibample LPAWUR irrati periferikoa probatzeko.

Erakustaldiak/MRSUBG

  • MRSUBG_RTC_Button_TX: Adibample-k SoC-a geldialdi sakonean nola ezarri eta MRSUBG-a SoC-a esnatzeko nola konfiguratu erakusten du PB2 sakatuz fotograma bat bidaltzeko edo RTC tenporizadorea iraungi ondoren.
  • MRSUBG_Sequencer_Sniff: Adibample-ek MRSUBG sekuentziatzailea sniff moduan funtziona dezan nola ezarri erakusten du. Adibample hartzailearen alde erakusten du eta beste gailu bat behar du transmisore gisa.
  • MRSUBG_Timer: Aplikazioak MRSUBG tenporizadorearen hainbat instantzia programatzen ditu (autokargarekin) denbora tarte ezberdinekin.
  • MRSUBG_WakeupRadio_Tx: Adibample-k SoC geldialdi sakonean nola ezarri eta MRSUBG konfiguratu SoC esnatzeko azaltzen du PB2 sakatuz fotograma bat bidaltzeko. Adibample transmisorearen alde erakusten du eta beste gailu bat behar du LPAWUR hargailu gisa. Hartzaileak adibidezample NUCLEO-WL33CC\Demonstrations\LPAWUR\LPAWUR_WakeupRadio_Rx karpetan dago.

Manifestazioak/LPAWUR

  • LPAWUR_WakeupRadio_Rx: Adibample-k azaltzen du nola ezarri SoC deep-stop moduan eta LPAWUR konfiguratu SoC esna dezan fotograma bat iristen denean eta behar bezala jasotzen denean. Adibample hartzailearen alde erakusten du eta beste gailu bat behar du transmisore gisa. Igorlea adibidezample NUCLEO-WL33CC\Demonstrations\MRSUBG\MRSUBG_WakeupRadio_Tx karpetan dago.

Sigfox™ aplikazioa
Aplikazio hauek Sigfox™ eszenatoki bat nola inplementatu eta erabilgarri dauden Sigfox™ APIak nola erabili erakusten dute. Proiektuaren bidean daude eskuragarri Projects\NUCLEO-WL33CC\Applications\Sigfox\:

  • Sigfox_CLI: Aplikazio honek komando-lerroko interfazea (CLI) nola erabili erakusten du Sigfox™ protokoloa erabiltzen duten komandoak bidaltzeko mezuak bidaltzeko eta aurreziurtagiri-probak egiteko.
  • Sigfox_PushButton: Aplikazio honek STM32WL33xx Sigfox™ gailuaren irrati-gaitasunaren ebaluazioa ahalbidetzen du. PB1 sakatzean Sigfox™ probako fotograma transmititzen da.

Berrikuspen historia

3. taula. Dokumentuen berrikuspenaren historia

Data Berrikuspena Aldaketak
29-mar-2024 1 Hasierako kaleratzea.
30-2024-XNUMX 2 STM32CubeWL3 integrazio osoa STM32Cube-n. Eguneratua:

•         Sarrera

•         2. atala: STM32CubeWL3 ezaugarri nagusiak

•         3.2.1 atala: Middlewarearen osagaiak

•         4. atala: STM32CubeWL3 firmware paketea amaituview

•         5.1 atala: lehen adibide bat exekutatzenample

•         5.3 atala: RF aplikazioak, erakustaldiak eta adibamples

Gehituta:

•         5.1.1 atala: HAL bat nola exekutatu adibample

•         5.2.1 atala: STM32CubeMX erabiltzea aplikazio bat garatzeko edo eguneratzeko

• S6.4. atala: Ba al dago txantiloi proiekturik MRSUBG/LPAWUR periferikorako adibidezamples?

•         6.5 atala: Nola sor dezake STM32CubeMX txertatutako softwarean oinarritutako kodea?

Kendua:

•         PC tresnak, barne Nabigatzailea, STM32WL3 GUI, eta MR-SUBG Sequencer GUI

•         Nola sor dezake WiSE-Studio IOMapper-ek txertatutako softwarean oinarritutako kodea?

•         Nabigatzaileak software paketeen baliabideetarako sarbidea baimentzen al du?

22-Urt-2025 3 Gailu aplikagarrien sorta STM32WL30xx eta STM32WL31xx mikrokontrolagailuetara zabaldu zen 1. taulan. STM32WL3x produktu-lerrorako makroak.

OHAR GARRANTZITSUA - IRAKURRI ARRETA

  • STMicroelectronics NV eta bere filialek ("ST") eskubidea dute aldaketak, zuzenketak, hobekuntzak, aldaketak eta hobekuntzak egiteko ST produktuetan eta/edo dokumentu honetan edozein unetan jakinarazi gabe. Erosleek eskaerak egin aurretik ST produktuei buruzko azken informazio garrantzitsua eskuratu behar dute. ST produktuak eskaera onartzeko unean indarrean dauden STren salmenta-baldintzen arabera saltzen dira.
  • Erosleak dira ST produktuen aukeraketa, aukeraketa eta erabileraren erantzule bakarrak eta STek ez du bere gain hartzen aplikazioen laguntzaren edo erosleen produktuen diseinuaren erantzukizunik.
  • STek ez du baimenik, espresuki edo inplizituki, jabetza intelektualeko eskubiderik ematen.
  • ST produktuen birsalmentak hemen azaltzen den informazioaz bestelako xedapenak dituztenak baliogabetuko ditu STek produktu horrengatik emandako edozein berme.
  • ST eta ST logotipoa ST-ren marka komertzialak dira. ST markei buruzko informazio gehiago lortzeko, jo www.st.com/trademarks. Gainerako produktu edo zerbitzu-izen guztiak dagozkien jabeen jabetzakoak dira.
  • Dokumentu honetako informazioak dokumentu honen aurreko edozein bertsiotan emandako informazioa ordezkatzen eta ordezkatzen du.
  • © 2025 STMicroelectronics - Eskubide guztiak erreserbatuta

Ohiko galderak

Noiz erabili behar dut HAL LL kontrolatzaileen ordez?

HAL gidariek maila altuko eta funtzioetara bideratutako APIak eskaintzen dituzte, eramangarritasun maila altuarekin. Produktu edo periferikoen konplexutasuna ezkutatuta dago azken erabiltzaileentzat. LL gidariek geruza baxuko erregistro-mailako APIak eskaintzen dituzte optimizazio hobearekin baina eramangarri gutxiagorekin. Produktu edo IP zehaztapenen ezagutza sakona behar dute.

Nola gaitu LL hasierako APIak?

LL hasierako APIen eta lotutako baliabideen egituren literalen eta prototipoen definizioa USE_FULL_LL_DRIVER konpilazio etengailuak baldintzatzen du. LL hasierako APIak erabili ahal izateko, gehitu etengailu hau toolchain konpiladorearen aurreprozesadorean.

Ba al dago txantiloi proiekturik MRSUBG/LPAWUR periferikorako, adibidezamples?

MRSUBG edo LPAWUR berri bat sortzeko adibidezample proiektua, edo proiektuen hezurdura-proiektutik NUCLEO- 33CC Ex.amples MRSUBG edo ProiektuakNUCLEO-WL33CC Adibamples LPAWUR edo direktorio horien azpian dagoen edozein proiektutatik.

Nola sor dezake STM32CubeMX txertatutako softwarean oinarritutako kodea?

STM32CubeMX-ek STM32 mikrokontrolagailuen ezagutza barneratua du, haien periferikoak eta softwarea barne, eta horri esker, erabiltzaileari irudikapen grafikoa eskaintzeko eta .h edo .c sortzeko aukera ematen du. fileerabiltzailearen konfigurazioan oinarrituta.

Dokumentuak / Baliabideak

ST STM32WL3x Mikrokontrolagailuak [pdfErabiltzailearen eskuliburua
STM32WL3x Mikrokontrolagailuak, STM32WL3x, Mikrokontrolagailuak

Erreferentziak

Utzi iruzkin bat

Zure helbide elektronikoa ez da argitaratuko. Beharrezko eremuak markatuta daude *