ST-LOGO

Mikrokontrolerji STM32WL3x

STM32WL3x-Mikrokontrolerji-IZDELEK

Navodila za uporabo izdelka

  • Paket STM32CubeWL3 vključuje API-je nizke plasti (LL) in plasti abstrakcije strojne opreme (HAL), ki pokrivajo strojno opremo mikrokrmilnika.
  • Zagotavlja tudi komponente vmesne programske opreme, kot so jedro SigfoxTM, FatFS in FreeRTOS.
  • Paket vsebuje prampdatoteke in aplikacije za enostavno implementacijo.
  • Arhitektura STM32CubeWL3 je zgrajena okoli treh ravni: aplikacij, HAL in LL.
  • API-ja HAL in LL pokrivata širok razpon aplikacijskih zahtev.
  • HAL ponuja osnovno uporabo perifernih naprav, npramples, LL pa nudi nizkonivojske rutine.
  • Ta raven vključuje paket za podporo plošče (BSP) in podsloje HAL.
  • BSP ponuja API-je za komponente strojne opreme na ploščah, medtem ko HAL zagotavlja osnovno uporabo perifernih naprav, npramples.
  • Gonilniki BSP povezujejo gonilnike komponent z določenimi ploščami, kar olajša prenos na drugo strojno opremo.
  • STM32CubeWL3 HAL in LL se dopolnjujeta in pokrivata širok razpon aplikacijskih zahtev.
  • Uporabniki lahko izkoristijo te API-je za učinkovito interakcijo s strojno opremo mikrokrmilnika.

Uvod

STM32Cube je izvirna pobuda STMicroelectronics za znatno izboljšanje produktivnosti oblikovalca z zmanjšanjem truda, časa in stroškov pri razvoju. STM32Cube pokriva celoten portfelj STM32. STM32Cube vključuje:

STM32Cube vključuje:

  • Nabor uporabniku prijaznih orodij za razvoj programske opreme, ki pokrivajo razvoj projekta od zasnove do realizacije, med katerimi so:
    • STM32CubeMX, orodje za konfiguracijo grafične programske opreme, ki omogoča samodejno generiranje inicializacijske kode C z uporabo grafičnih čarovnikov
    • STM32CubeIDE, vse-v-enem razvojno orodje s periferno konfiguracijo, generiranjem kode, prevajanjem kode in funkcijami za odpravljanje napak
    • STM32CubeCLT, vse-v-enem nabor orodij za razvoj ukazne vrstice s prevajanjem kode, programiranjem plošč in funkcijami za odpravljanje napak
    • STM32CubeProgrammer (STM32CubeProg), programsko orodje, ki je na voljo v grafični različici in različici ukazne vrstice
    • STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), zmogljiva nadzorna orodja za natančno nastavitev obnašanja in delovanja aplikacij STM32 v realnem času
  • Paketi STM32Cube MCU in MPU, celovite platforme vgrajene programske opreme, specifične za vsako serijo mikrokrmilnika in mikroprocesorja (kot je STM32CubeWL3 za linijo izdelkov STM32WL3x), ki vključujejo:
    • Abstrakcijski sloj strojne opreme STM32Cube (HAL), ki zagotavlja maksimalno prenosljivost v celotnem portfelju STM32
    • Nizkoplastni API-ji STM32Cube, ki zagotavljajo najboljšo zmogljivost in odtise z visoko stopnjo uporabniškega nadzora nad strojno opremo
    • Dosleden nabor komponent vmesne programske opreme, kot so jedro FreeRTOS™, FatFS in Sigfox™
    • Vsi vgrajeni pripomočki programske opreme s popolnimi nabori perifernih in aplikativnih examples
  • Razširitveni paketi STM32Cube, ki vsebujejo vgrajene programske komponente, ki dopolnjujejo funkcionalnosti paketov STM32Cube MCU in MPU z:
    • Razširitve vmesne programske opreme in aplikativne plasti
    • Examples, ki deluje na nekaterih posebnih razvojnih ploščah STMicroelectronics
  • Ta uporabniški priročnik opisuje, kako začeti uporabljati paket MCU STM32CubeWL3.

Razdelek 2 opisuje glavne značilnosti STM32CubeWL3, razdelek 3 pa ponuja pregledview njegove arhitekture in strukture paketa MCU.

Splošne informacije

  • STM32CubeWL3 izvaja predstavitvene aplikacije pod GHz, vključno z binarnimi datotekami Sigfox™, na mikrokrmilnikih linije izdelkov STM32WL3x, ki temeljijo na procesorju Arm® Cortex®‑M0+.
  • Mikrokrmilniki STM32WL3x vključujejo najsodobnejšo RF radijsko periferijo STMicroelectronics, ki je združljiva s sub-GHz, optimizirana za izjemno nizko porabo energije in odlično radijsko zmogljivost, za neprimerljivo življenjsko dobo baterije.

Opomba: Arm je registrirana blagovna znamka Arm Limited (ali njenih podružnic) v ZDA in/ali drugje.

STM32WL3x-Mikrokontrolerji-SLIKA-1

Glavne značilnosti STM32CubeWL3

  • Paket MCU STM32CubeWL3 deluje na 32-bitnih mikrokontrolerjih STM32, ki temeljijo na procesorju Arm® Cortex®‑M0+. V enem paketu združuje vse generične komponente vdelane programske opreme, potrebne za razvoj aplikacije za Linija izdelkov STM32WL3x mikrokontrolerji.
  • Paket vključuje API-je nizke plasti (LL) in plasti abstrakcije strojne opreme (HAL), ki pokrivajo strojno opremo mikrokrmilnika, skupaj z obsežnim naborom exampki se izvajajo na ploščah STMicroelectronics. API-ja HAL in LL sta za udobje uporabnika na voljo v odprtokodni licenci BSD. Vključuje tudi komponente vmesne programske opreme jedra Sigfox™, FatFS in FreeRTOS™.
  • Paket MCU STM32CubeWL3 ponuja tudi več aplikacij in predstavitev, ki implementirajo vse komponente vmesne programske opreme.
  • Postavitev komponente paketa MCU STM32CubeWL3 je prikazana na sliki 1.

STM32WL3x-Mikrokontrolerji-SLIKA-2

Konec arhitekture STM32CubeWL3view

  • Rešitev STM32CubeWL3 MCU Package je zgrajena okoli treh neodvisnih ravni, ki zlahka medsebojno delujejo, kot je opisano na sliki 2.

STM32WL3x-Mikrokontrolerji-SLIKA-3

0. stopnja
Ta raven je razdeljena na tri podsloje:

  • Paket podpore za plošče (BSP).
  • Sloj abstrakcije strojne opreme (HAL):
    • gonilniki perifernih naprav HAL
    • Nizkoslojni gonilniki
  • Osnovna uporaba perifernih naprav npramples.

Paket podpore za plošče (BSP)
Ta plast ponuja niz API-jev glede na komponente strojne opreme v ploščah strojne opreme (kot so LED, gumbi in gonilniki COM). Sestavljen je iz dveh delov:

Komponenta:

  • To je gonilnik glede na zunanjo napravo na plošči in ne glede na STM32. Gonilnik komponente ponuja posebne API-je zunanjim komponentam gonilnika BSP in je lahko prenosljiv na katero koli drugo ploščo.
    • Gonilnik BSP:
  • Omogoča povezovanje gonilnikov komponent z določeno ploščo in zagotavlja nabor uporabniku prijaznih API-jev. Pravilo za poimenovanje API-ja je BSP_FUNCT_Action().
  • Example: BSP_LED_Init(), BSP_LED_On()

BSP temelji na modularni arhitekturi, ki omogoča enostavno prenašanje na katero koli strojno opremo s samo implementacijo nizkonivojskih rutin.

Abstrakcija strojne opreme (HAL) in nizka plast (LL)

STM32CubeWL3 HAL in LL se dopolnjujeta in pokrivata širok spekter aplikacijskih zahtev:

  • Gonilniki HAL ponujajo zelo prenosljive API-je na visoki ravni, ki so usmerjeni v funkcije. Končnemu uporabniku skrijejo MCU in periferno zapletenost.
    Gonilniki HAL zagotavljajo generične večinstančne API-je, usmerjene v funkcije, ki poenostavijo implementacijo uporabniške aplikacije z zagotavljanjem procesov, pripravljenih za uporabo. Na primerample, za komunikacijske periferne naprave (I2C, UART in druge) ponuja API-je, ki omogočajo inicializacijo in konfiguracijo perifernih naprav, upravljanje prenosa podatkov na podlagi pozivanja, prekinitve ali procesa DMA ter obravnavanje komunikacijskih napak, ki se lahko pojavijo med komunikacijo. API-ji gonilnika HAL so razdeljeni v dve kategoriji:
    • Generični API-ji, ki zagotavljajo skupne in generične funkcije za vse mikrokontrolerje serije STM32.
    • Razširitveni API-ji, ki zagotavljajo posebne in prilagojene funkcije za določeno družino ali določeno številko dela.
  • API-ji nizke ravni zagotavljajo API-je nizke ravni na ravni registra z boljšo optimizacijo, vendar manjšo prenosljivostjo.
    Zahtevajo poglobljeno poznavanje specifikacij MCU in perifernih naprav.
    Gonilniki LL so zasnovani tako, da nudijo hitro in lahko, strokovno usmerjeno plast, ki je bližje strojni opremi kot HAL. V nasprotju s HAL API-ji LL niso na voljo za zunanje naprave, kjer optimiziran dostop ni ključna lastnost, ali za tiste, ki zahtevajo konfiguracijo težke programske opreme ali kompleksen sklad na višji ravni.
    Lastnosti gonilnikov LL:
  • Niz funkcij za inicializacijo glavnih funkcij perifernih naprav v skladu s parametri, določenimi v podatkovnih strukturah.
  • Nabor funkcij za zapolnitev inicializacijskih podatkovnih struktur z vrednostmi ponastavitve, ki ustrezajo vsakemu polju.
  • Funkcija za deinicializacijo perifernih naprav (periferni registri ponovljeni na privzete vrednosti).
  • Niz vgrajenih funkcij za neposredni in atomski dostop do registra.
  • Popolna neodvisnost od HAL in zmožnost uporabe v samostojnem načinu (brez gonilnikov HAL).
  • Popolna pokritost podprtih perifernih funkcij.

Osnovna uporaba perifernih naprav npramples
Ta plast obdaja exampdatoteke, zgrajene prek perifernih naprav STM32 z uporabo samo virov HAL in BSP.
Opomba: Predstavitev prampdatoteke so na voljo tudi za prikaz bolj zapletenih nprample s posebnimi zunanjimi napravami, kot sta MRSUBG in LPAWUR.

1. stopnja
Ta raven je razdeljena na dve podplasti:

  • Komponente vmesne programske opreme
  • Exampdatoteke, ki temeljijo na komponentah vmesne programske opreme

Komponente vmesne programske opreme
Vmesna programska oprema je niz knjižnic, ki pokriva jedro FreeRTOS™, FatFS in knjižnico protokolov Sigfox™.
Horizontalna interakcija med komponentami tega sloja poteka s klicanjem predstavljenih API-jev.
Navpična interakcija z gonilniki nižje plasti poteka prek posebnih povratnih klicev in statičnih makrov, implementiranih v klicnem vmesniku knjižničnega sistema.
Glavne značilnosti vsake komponente vmesne programske opreme so naslednje:

  • Jedro FreeRTOS™: implementira operacijski sistem v realnem času (RTOS), zasnovan za vgrajene sisteme.
  • Sigfox™: implementira knjižnico protokolov Sigfox™, ki je združljiva z omrežjem protokolov Sigfox™, in vključuje knjižnico protokolov za testiranje RF za testiranje orodij RF Sigfox™.
  • FatFS: implementira generični FAT file sistemski modul.

Exampdatoteke, ki temeljijo na komponentah vmesne programske opreme

  • Vsaka komponenta vmesne programske opreme ima enega ali več exampdatoteke, imenovane tudi aplikacije, ki prikazujejo, kako jih uporabljati.
  • Integracija exampNa voljo so tudi datoteke, ki uporabljajo več komponent vmesne programske opreme.

Konec paketa vdelane programske opreme STM32CubeWL3view

Podprte naprave in strojna oprema STM32WL3x

  • STM32Cube ponuja zelo prenosljivo plast abstrakcije strojne opreme (HAL), zgrajeno okoli generične arhitekture. Omogoča načelo nadgradnje plasti, kot je uporaba plasti vmesne programske opreme za izvajanje njihovih funkcij, ne da bi podrobno vedeli, kateri MCU se uporablja. To izboljša možnost ponovne uporabe kode knjižnice in zagotavlja enostavno prenosljivost na druge naprave.
  • Poleg tega s svojo večplastno arhitekturo, STM32CubeWL3 ponuja popolno podporo za celotno linijo izdelkov STM32WL3x.
  • Uporabnik mora samo definirati pravi makro v stm32wl3x.h.
  • Tabela 1 prikazuje makro, ki ga je treba definirati glede na uporabljeno napravo linije izdelkov STM32WL3x. Ta makro mora biti definiran tudi v predprocesorju prevajalnika.

Tabela 1. Makri za linijo izdelkov STM32WL3x

Makro je definiran v STM32WL3X.h Naprave linije izdelkov STM32WL3x
stm32wl3x STM32WL30xx mikrokrmilniki STM32WL31xx mikrokrmilniki STM32WL33xx mikrokrmilniki

Tabela 2. Plošče za linijo izdelkov STM32WL3x

Deska Naprave, ki podpirajo ploščo STM32WL3x
NUCLEO-WL33CC1 STM32WL33CC
NUCLEO-WL33CC2 STM32WL33CC

Paket MCU STM32CubeWL3 lahko deluje na kateri koli združljivi strojni opremi. Uporabniki posodobijo gonilnike BSP za prenos priloženega exampdatoteke na svojih ploščah, če imajo te enake lastnosti strojne opreme (kot so LED ali gumbi).

Konec paketa vdelane programske opremeview

  • Rešitev STM32CubeWL3 MCU Package je na voljo v enem paketu zip s strukturo, prikazano na sliki 3.

STM32WL3x-Mikrokontrolerji-SLIKA-4

Pozor: Uporabnik ne sme spreminjati komponent files. Uporabnik lahko ureja samo vire \Projects. Za vsako ploščo je komplet examples je opremljen s predhodno konfiguriranimi projekti za orodne verige EWARM, MDK-ARM in STM32CubeIDE.
Slika 4 prikazuje strukturo projekta za plošče NUCLEO-WL33CCx.

STM32WL3x-Mikrokontrolerji-SLIKA-5

Bivšiampdatoteke so razvrščene glede na raven STM32CubeWL3, za katero veljajo. Imenujejo se na naslednji način:

  • Raven 0 nprampse imenujejo Examples, npramples_LL in Examples_MIX. Uporabljajo gonilnike HAL, gonilnike LL in mešanico gonilnikov HAL in LL brez kakršne koli komponente vmesne programske opreme. Predstavitev pramples so na voljo tudi.
  • Raven 1 nprampdatoteke se imenujejo aplikacije. Zagotavljajo tipične primere uporabe vsake komponente vmesne programske opreme.

Vsako aplikacijo vdelane programske opreme za določeno ploščo je mogoče hitro zgraditi z uporabo predlog projektov, ki so na voljo v imenikih Templates in Templates_LL.
Examples, npramples_LL in Examples_MIX imajo enako strukturo:

  • \Inc mapa, ki vsebuje celotno glavo files.
  • Mapa \Src, ki vsebuje izvorno kodo.
  • \EWARM, \MDK-ARM in \STM32CubeIDE mape, ki vsebujejo vnaprej konfiguriran projekt za vsako orodno verigo.
  • readme.md in readme.html, ki opisujeta exampvedenje in potrebno okolje, da deluje.

Začetek uporabe STM32CubeWL3

Vodenje prvega bivšegaample
V tem razdelku je razloženo, kako preprosto je zagnati prvi example znotraj STM32CubeWL3. Kot ilustracijo uporablja ustvarjanje preprostega preklopnika LED, ki deluje na plošči NUCLEO-WL33CC1:

  1. Prenesite paket STM32CubeWL3 MCU.
  2. Razpakirajte ga ali zaženite namestitveni program, če je na voljo, v imenik po vaši izbiri.
  3. Pazite, da ne spremenite strukture paketa, prikazane na sliki 3. Struktura paketa vdelane programske opreme STM32CubeWL3. Upoštevajte, da je priporočljivo tudi kopiranje paketa na lokacijo blizu korenskega nosilca (kar pomeni C:\ST ali G:\Tests), saj nekateri IDE naletijo na težave, ko je pot predolga.

Kako zagnati HAL example
Preden naložite in zaženete example, je zelo priporočljivo prebrati example readme file za katero koli posebno konfiguracijo.

  1. Prebrskajte do \Projects\NUCLEO-WL33CC\Examples.
  2. Odprite mapo \GPIO, nato \GPIO_EXTI.
  3. Odprite projekt z želeno verigo orodij. Na hitro čezview o tem, kako odpreti, zgraditi in zagnati exampdatoteka s podprtimi orodnimi verigami je podana spodaj.
  4. Ponovno zgradite vse files in naloži sliko v ciljni pomnilnik.
  5. Zaženi example. Za več podrobnosti glej example readme file.

Odpreti, zgraditi in zagnati exampz vsako od podprtih orodnih verig sledite spodnjim korakom:

  • EWARM:
    1. Pod Examples, odprite podmapo \EWARM.
    2. Zaženite delovni prostor Project.eww (ime delovnega prostora se lahko spremeni iz enega nprample drugemu).
    3. Ponovno zgradite vse files: [Projekt]>[Obnovi vse].
    4. Naložite sliko projekta: [Projekt]>[Odpravljanje napak].
    5. Zaženite program: [Debug]>[Go (F5)].
  • MDK-ARM:
    1. Pod Examples, odprite podmapo \MDK-ARM.
    2. Odprite delovni prostor Project.uvproj (ime delovnega prostora se lahko spremeni iz enega nprample drugemu).
    3. Ponovno zgradite vse files: [Projekt]>[Obnovi vse cilje files].
    4. Naložite sliko projekta: [Debug]>[Start/Stop Debug Session].
    5. Zaženite program: [Debug]>[Run (F5)].
  • STM32CubeIDE:
    1. Odprite verigo orodij STM32CubeIDE.
    2. Kliknite na [File]>[Switch Workspace]>[Other] in poiščite imenik delovnega prostora STM32CubeIDE.
    3. Kliknite na [File]>[Uvozi], izberite [Splošno]>[Obstoječi projekti v delovni prostor] in kliknite [Naprej].
    4. Poiščite imenik delovnega prostora STM32CubeIDE in izberite projekt.
    5. Obnovite ves projekt files: Izberite projekt v oknu Project Explorer in kliknite na meni [Project]>[Build project].
    6. Zaženite program: [Zaženi]>[Odpravljanje napak (F11)].

Razvoj aplikacije po meri

Uporaba STM32CubeMX za razvoj ali posodobitev aplikacije

  • V paketu STM32Cube MCU so skoraj vsi projekti nprampdatoteke so ustvarjene z orodjem STM32CubeMX za inicializacijo sistema, zunanjih naprav in vmesne programske opreme.

Neposredna uporaba obstoječega projekta nprampdatoteka iz orodja STM32CubeMX zahteva STM32CubeMX 6.12.0 ali novejšo različico:

  • Po namestitvi STM32CubeMX odprite in po potrebi posodobite predlagani projekt.
    Najenostavnejši način za odpiranje obstoječega projekta je dvoklik na *.ioc file tako da STM32CubeMX samodejno odpre projekt in njegov izvor files. STM32CubeMX ustvari inicializacijsko izvorno kodo takih projektov.
  • Glavno izvorno kodo aplikacije vsebujeta komentarja »UPORABNIŠKA KODA ZAČETEK« in »KONEC UPORABNIŠKE KODE«. Če se izbira perifernih naprav in nastavitve spremenijo, STM32CubeMX posodobi inicializacijski del kode, hkrati pa ohrani izvorno kodo glavne aplikacije.
  • Za razvoj projekta po meri s STM32CubeMX sledite postopku po korakih:
    1. Konfigurirajte vso zahtevano vdelano programsko opremo z reševalnikom navzkrižij pinout, pomočnikom za nastavitev drevesa ure, kalkulatorjem porabe energije in pripomočkom, ki izvaja konfiguracijo periferne enote MCU (kot je GPIO ali USART).
    2. Generirajte inicializacijsko kodo C na podlagi izbrane konfiguracije. Ta koda je pripravljena za uporabo v več razvojnih okoljih. Uporabniška koda se ohrani pri naslednji generaciji kode.
      Za več informacij o STM32CubeMX glejte uporabniški priročnik STM32CubeMX za generiranje kode C za konfiguracijo in inicializacijo STM32 (UM1718).

Vozniške aplikacije
HAL aplikacija
Ta razdelek opisuje korake, potrebne za ustvarjanje aplikacije HAL po meri z uporabo STM32CubeWL3

  1. Ustvarite projekt
    Če želite ustvariti nov projekt, začnite s projektom predloge, ki je na voljo za vsako ploščo pod \Projekti\ \Predloge ali iz katerega koli razpoložljivega projekta pod \Projekti\ \Nprampdatoteke ali \Projekti\ \Aplikacije (kjer se nanaša na ime plošče).
    Projekt Template nudi prazno funkcijo glavne zanke. Vendar pa je dobro izhodišče za razumevanje nastavitev projekta STM32CubeWL3. Predloga ima naslednje značilnosti:
    • Vsebuje izvorno kodo HAL, gonilnike CMSIS in BSP, ki so minimalni nabor komponent, potrebnih za razvoj kode na določeni plošči.
    • Vsebuje vključene poti za vse komponente vdelane programske opreme.
    • Določa podprte naprave linije izdelkov STM32WL3x, kar omogoča pravilno konfiguracijo gonilnikov CMSIS in HAL.
    • Zagotavlja uporabnika, pripravljenega za uporabo fileje vnaprej konfiguriran, kot je prikazano spodaj:
    • HAL je inicializiran s privzeto časovno osnovo z Arm® jedrom SysTick.
    • SysTick ISR implementiran za namen HAL_Delay().
    • Opomba: Pri kopiranju obstoječega projekta na drugo lokacijo se prepričajte, da so vse vključene poti posodobljene.
  2. Konfigurirajte komponente vdelane programske opreme
    Komponente HAL in vmesne programske opreme ponujajo nabor konfiguracijskih možnosti v času gradnje z uporabo makrov #define, navedenih v glavi file. Konfiguracija predloge file je na voljo v vsaki komponenti, ki jo je treba kopirati v mapo projekta (običajno konfiguracija file se imenuje xxx_conf_template.h, fragment
    • predlogo je treba odstraniti, ko jo kopirate v mapo projekta). Konfiguracija file zagotavlja dovolj informacij za razumevanje vpliva vsake konfiguracijske možnosti. Podrobnejše informacije so na voljo v dokumentaciji, ki je priložena posamezni komponenti.
  3. Zaženite knjižnico HAL
    Po skoku v glavni program mora koda aplikacije poklicati API HAL_Init() za inicializacijo knjižnice HAL, ki izvaja naslednje naloge:
    • Konfiguracija vnaprejšnjega pridobivanja pomnilnika flash in prioritete prekinitve SysTick (prek makrov, definiranih v stm32 wl3x_hal_conf.h).
    • Konfiguracija SysTick za ustvarjanje prekinitve vsako milisekundo pri prioriteti prekinitve SysTick TICK_INT_PRIO, definirani v stm32wl3x_hal_conf.h.
    • Nastavitev prioritete skupine NVIC na 0.
    • Klic funkcije povratnega klica HAL_MspInit(), definiran v uporabniku stm32wl3x_hal_msp.c file za izvedbo globalnih nizkonivojskih inicializacij strojne opreme.
  4. Konfigurirajte sistemsko uro
    Konfiguracija sistemske ure se izvede s klicem dveh API-jev, opisanih spodaj:
    • HAL_RCC_OscConfig(): ta API konfigurira notranje in zunanje oscilatorje. Uporabnik se odloči za
      konfigurirajte enega ali vse oscilatorje.
    • HAL_RCC_ClockConfig(): ta API konfigurira vir sistemske ure, zakasnitev bliskovnega pomnilnika ter preddelilnika AHB in APB.
  5. Inicializirajte periferijo
    • Najprej napišite periferno inicializacijsko funkcijo. Nadaljujte kot sledi:
    • Omogoči periferno uro.
    • Konfigurirajte periferne GPIO.
    • Konfigurirajte kanal DMA in omogočite prekinitev DMA (če je potrebno).
    • Omogočite periferno prekinitev (če je potrebno).
    • Uredite stm32xxx_it.c za klic zahtevanih upravljavcev prekinitev (perifernih in DMA), če je potrebno.
    • Pišite popolne funkcije povratnega klica procesa, če je predvidena uporaba periferne prekinitve ali DMA.
    • V uporabniškem main.c file, inicializirajte periferno strukturo ročaja in nato pokličite funkcijo za inicializacijo periferije, da inicializirate periferijo.
  6. Razvijte aplikacijo
    Pri tem stage, sistem je pripravljen in razvoj kode uporabniške aplikacije se lahko začne.
    HAL ponuja intuitivne in za uporabo pripravljene API-je za konfiguracijo zunanje opreme. Podpira anketiranje, prekinitve in programski model DMA, da se prilagodi vsem zahtevam aplikacije. Za več podrobnosti o uporabi vsake zunanje naprave glejte rich exampnabor datotek, ki je na voljo v paketu MCU STM32CubeWL3.

Pozor: V privzeti izvedbi HAL se časovnik SysTick uporablja kot časovna osnova: ustvarja prekinitve v rednih časovnih intervalih. Če je HAL_Delay() poklican iz perifernega procesa ISR, se prepričajte, da ima prekinitev SysTick višjo prioriteto (številčno nižjo) kot periferna prekinitev. V nasprotnem primeru je postopek ISR klicatelja blokiran. Funkcije, ki vplivajo na konfiguracije časovne baze, so deklarirane kot __šibke, da omogočijo preglasitev v primeru drugih implementacij v uporabniku file (z uporabo časovnika za splošne namene, nprample ali drug časovni vir). Za več podrobnosti glejte primer HAL_TimeBaseample.

LL aplikacija
Ta razdelek opisuje korake, potrebne za ustvarjanje aplikacije LL po meri z uporabo STM32CubeWL3.

  1. Ustvarite projekt
    Če želite ustvariti nov projekt, bodisi začnite s projektom Templates_LL, ki je na voljo za vsako ploščo pod \Projekti\ \Templates_LL ali iz katerega koli razpoložljivega projekta pod \Projects\ \Npramples_ LL ( se nanaša na ime plošče, kot je NUCLEO-WL32CC33).
    Projekt predloge zagotavlja prazno funkcijo glavne zanke, kar je dobro izhodišče za razumevanje nastavitev projekta za STM32CubeWL3. Glavne značilnosti predloge so naslednje:
    • Vsebuje izvorne kode gonilnikov LL in CMSIS, ki so najmanjši nabor komponent, potrebnih za razvoj kode na določeni plošči.
    • Vsebuje vključene poti za vse potrebne komponente vdelane programske opreme.
    • Izbere podprto napravo linije izdelkov STM32WL3x in omogoči pravilno konfiguracijo gonilnikov CMSIS in LL.
    • Zagotavlja uporabnika, pripravljenega za uporabo fileki so vnaprej konfigurirani na naslednji način:
    • main.h: definicijska plast abstrakcije LED in USER_BUTTON.
    • main.c: Konfiguracija sistemske ure za največjo frekvenco.
  2. Priključite LL example:
    • Kopirajte/prilepite mapo Templates_LL – da obdržite začetni vir – ali neposredno posodobite obstoječi projekt Template s_LL.
    • Nato je prenos v glavnem sestavljen iz zamenjave Templates_LL files strani Examples_LL ciljni projekt.
    • Ohranite vse dele, specifične za ploščo. Zaradi jasnosti so posamezni deli plošče označeni s posebnimi tags:STM32WL3x-Mikrokontrolerji-SLIKA-6
    • Tako so glavni koraki prenosa naslednji:
    • Zamenjajte stm32wl3x_it.h file.
    • Zamenjajte stm32wl3x_it.c file.
    • Zamenjajte glavni.h file in jo posodobite: obdržite definicijo LED in uporabniškega gumba predloge LL pod POSAMEZNO KONFIGURACIJO PLOŠČE tags.
    • Zamenjajte glavno.c file in ga posodobite:
    • Ohranite konfiguracijo ure funkcije predloge SystemClock_Config() LL pod POSAMEZNO KONFIGURACIJO PLOŠČE tags.
    • Odvisno od definicije LED zamenjajte vsak pojav LDx z drugim LDy, ki je na voljo v file glavna.h.
    • S temi spremembami je example teče na ciljni plošči.

RF aplikacije, predstavitve in npramples
Različne vrste RF aplikacij, demonstracije in nprampso na voljo v paketu STM32CubeWL3.
Navedeni so v spodnjih dveh razdelkih.

Sub-GHz examples in demonstracije
Ti bivšiampprikazujejo glavne značilnosti radijskih periferij MRSUBG in LPAWUR. Ti bivšiampdatoteke so na voljo pod:

  • Projekti\NUCLEO-WL33CC\Examples\MRSUBG
  • Projekti\NUCLEO-WL33CC\Examples\LPAWUR
  • Projekti\NUCLEO-WL33CC\Demonstracije\MRSUBG
  • Projekti\NUCLEO-WL33CC\Demonstracije\LPAWUR

Vsak bivšiampDatoteka ali predstavitev je na splošno sestavljena iz dveh programov, imenovanih Tx in Rx, ki delujeta kot oddajnik oziroma sprejemnik:

Examples/MRSUBG

  • MRSUBG_802_15_4: implementacija fizičnega sloja, ki ga definira standard 802.15.4. Prikazuje, kako konfigurirati radio za oddajanje ali sprejemanje paketov 802.15.4.
  • MRSUBG_BasicGeneric: Izmenjava osnovnih paketov STM32WL3x MR_SUBG.
  • MRSUBG_Chat: preprosta aplikacija, ki pokaže, kako uporabljati Tx in Rx na isti napravi.
  • MRSUBG_DatabufferHandler: Exampdatoteka, ki prikazuje, kako zamenjati podatkovni medpomnilnik 0 in 1.
  • MRSUBG_Sequencer AutoAck: An exampdatoteko, ki samodejno oddaja in sprejema potrditve paketov (ACK).
  • MRSUBG_WMBusSTD: Izmenjava sporočil WM-Bus.
  • WakeupRadio: bivšiample za preizkus radijske periferije LPAWUR.

Demonstracije/MRSUBG

  • MRSUBG_RTC_Button_TX: Ta nprampLe prikazuje, kako nastaviti SoC v način globoke zaustavitve in konfigurirati MRSUBG, da prebudi SoC s pritiskom na PB2 za pošiljanje okvira ali po izteku časovnika RTC.
  • MRSUBG_Sequencer_Sniff: Ta example prikazuje, kako nastaviti sekvencer MRSUBG za delovanje v načinu vohanja. Ta bivšiample prikazuje sprejemno stran in zahteva drugo napravo kot oddajnik.
  • MRSUBG_Timer: Aplikacija načrtuje več primerkov časovnika MRSUBG (s samodejnim ponovnim nalaganjem) z različnimi časovnimi intervali.
  • MRSUBG_WakeupRadio_Tx: Ta example pojasnjuje, kako nastaviti SoC v način globoke zaustavitve in konfigurirati MRSUBG, da prebudi SoC s pritiskom na PB2 za pošiljanje okvira. Ta bivšiample prikazuje stran oddajnika in zahteva drugo napravo kot sprejemnik LPAWUR. Sprejemnik nprampDatoteka se nahaja v mapi NUCLEO-WL33CC\Demonstrations\LPAWUR\LPAWUR_WakeupRadio_Rx.

Demonstracije/LPAWUR

  • LPAWUR_WakeupRadio_Rx: Ta example pojasnjuje, kako nastaviti SoC v način globoke zaustavitve in konfigurirati LPAWUR, da prebudi SoC, ko okvir prispe in je pravilno sprejet. Ta bivšiample prikazuje sprejemno stran in zahteva drugo napravo kot oddajnik. Oddajnik exampDatoteka se nahaja v mapi NUCLEO-WL33CC\Demonstrations\MRSUBG\MRSUBG_WakeupRadio_Tx.

Aplikacija Sigfox™
Te aplikacije prikazujejo, kako implementirati scenarij Sigfox™ in uporabiti razpoložljive API-je Sigfox™. Na voljo so v projektni poti Projects\NUCLEO-WL33CC\Applications\Sigfox\:

  • Sigfox_CLI: Ta aplikacija prikazuje, kako uporabiti vmesnik ukazne vrstice (CLI) za pošiljanje ukazov, ki uporabljajo protokol Sigfox™ za pošiljanje sporočil in izvajanje predcertifikacijskih testov.
  • Sigfox_PushButton: Ta aplikacija omogoča oceno radijskih zmogljivosti naprave STM32WL33xx Sigfox™. S pritiskom na PB1 se odda testni okvir Sigfox™.

Zgodovina revizij

Tabela 3. Zgodovina revizij dokumenta

Datum Revizija Spremembe
29-mar-2024 1 Začetna izdaja.
30. oktober 2024 2 Popolna integracija STM32CubeWL3 v STM32Cube. posodobljeno:

•         Uvod

•         Razdelek 2: Glavne značilnosti STM32CubeWL3

•         Razdelek 3.2.1: Komponente vmesne programske opreme

•         Razdelek 4: Konec paketa vdelane programske opreme STM32CubeWL3view

•         Razdelek 5.1: Izvajanje prvega example

•         Razdelek 5.3: RF aplikacije, predstavitve in npramples

dodano:

•         Razdelek 5.1.1: Kako zagnati HAL example

•         Razdelek 5.2.1: Uporaba STM32CubeMX za razvoj ali posodobitev aplikacije

• SRazdelek 6.4: Ali obstaja predloga projekta za periferno napravo MRSUBG/LPAWUR npramples?

•         Razdelek 6.5: Kako lahko STM32CubeMX ustvari kodo na podlagi vdelane programske opreme?

Odstranjeno:

•         PC orodja, vključno z Navigator, GUI STM32WL3, in GUI sekvencerja MR-SUBG

•         Kako lahko WiSE-Studio IOMapper ustvari kodo na podlagi vdelane programske opreme?

•         Ali Navigator omogoča dostop do virov programskega paketa?

22. januarja 2025 3 Razširjen obseg uporabnih naprav na mikrokrmilnike STM32WL30xx in STM32WL31xx v tabeli 1. Makri za linijo izdelkov STM32WL3x.

POMEMBNO OBVESTILO – POZORNO PREBERITE

  • STMicroelectronics NV in njegove hčerinske družbe (»ST«) si pridržujejo pravico do sprememb, popravkov, izboljšav, modifikacij in izboljšav izdelkov ST in/ali tega dokumenta kadar koli brez predhodnega obvestila. Kupci morajo pred oddajo naročil pridobiti najnovejše ustrezne informacije o izdelkih ST. Izdelki ST se prodajajo v skladu s prodajnimi pogoji ST, ki veljajo v času potrditve naročila.
  • Kupci so izključno odgovorni za izbiro, izbiro in uporabo izdelkov ST in ST ne prevzema nobene odgovornosti za pomoč pri uporabi ali oblikovanje izdelkov kupcev.
  • ST v tem dokumentu ne podeljuje nobene licence, izrecne ali implicitne, za katero koli pravico do intelektualne lastnine.
  • Nadaljnja prodaja izdelkov ST z določbami, ki se razlikujejo od informacij, navedenih v tem dokumentu, razveljavi vsako garancijo, ki jo ST odobri za tak izdelek.
  • ST in logotip ST sta blagovni znamki ST. Za dodatne informacije o blagovnih znamkah ST glejte www.st.com/trademarks. Vsa druga imena izdelkov ali storitev so last njihovih lastnikov.
  • Informacije v tem dokumentu prevladajo in nadomeščajo informacije, ki so bile predhodno navedene v kateri koli prejšnji različici tega dokumenta.
  • © 2025 STMicroelectronics – Vse pravice pridržane

pogosta vprašanja

Kdaj naj namesto gonilnikov LL uporabim HAL?

Gonilniki HAL ponujajo visokonivojske in funkcionalno usmerjene API-je z visoko stopnjo prenosljivosti. Kompleksnost izdelka ali periferne opreme je skrita za končne uporabnike. Gonilniki LL ponujajo nizkoplastne API-je na ravni registra z boljšo optimizacijo, vendar manj prenosljivi. Zahtevajo poglobljeno poznavanje specifikacij izdelka ali IP.

Kako so omogočeni API-ji za inicializacijo LL?

Definicija API-jev za inicializacijo LL in povezanih literalov in prototipov struktur virov je pogojena s preklopnim stikalom USE_FULL_LL_DRIVER. Če želite uporabljati API-je za inicializacijo LL, dodajte to stikalo v predprocesorju prevajalnika orodne verige.

Ali obstaja kakšna predloga projekta za periferne naprave MRSUBG/LPAWUR examples?

Če želite ustvariti nov MRSUBG ali LPAWUR exampprojekt, bodisi začnite z okvirnim projektom, ki je naveden pod Pr ojectsNUCLEO- 33CC Examples MRSUBG ali ProjectsNUCLEO-WL33CC Examples LPAWUR ali iz katerega koli razpoložljivega projekta v teh istih imenikih.

Kako lahko STM32CubeMX ustvari kodo na podlagi vdelane programske opreme?

STM32CubeMX ima vgrajeno znanje o mikrokontrolerjih STM32, vključno z njihovimi zunanjimi napravami in programsko opremo, kar mu omogoča, da uporabniku ponudi grafično predstavitev in ustvari .h ali .c filetemelji na konfiguraciji uporabnika.

Dokumenti / Viri

Mikrokontrolerji ST STM32WL3x [pdfUporabniški priročnik
STM32WL3x Mikrokrmilniki, STM32WL3x, Mikrokrmilniki

Reference

Pustite komentar

Vaš elektronski naslov ne bo objavljen. Obvezna polja so označena *