STM32WL3x mikrokontrollerid
Toote kasutusjuhised
- STM32CubeWL3 pakett sisaldab madala kihi (LL) ja riistvara abstraktsioonikihi (HAL) API-sid, mis katavad mikrokontrolleri riistvara.
- Samuti pakub see vahevara komponente, nagu SigfoxTM, FatFS ja FreeRTOS-i kernel.
- Pakendiga kaasas eksamples ja rakendused lihtsaks rakendamiseks.
- STM32CubeWL3 arhitektuur on üles ehitatud kolmele tasemele: rakendused, HAL ja LL.
- HAL- ja LL-i API-d hõlmavad laia valikut rakendusnõudeid.
- HAL pakub tavalist välisseadmete kasutamist, ntamples ja LL pakub madala taseme rutiine.
- See tase sisaldab juhatuse tugipaketti (BSP) ja HAL-i alamkihte.
- BSP pakub plaatide riistvarakomponentide jaoks API-sid, samas kui HAL pakub elementaarset välisseadmete kasutamist, ntampvähem.
- BSP draiverid seovad komponentide draiverid kindlate plaatidega, muutes selle hõlpsaks muule riistvarale portimise.
- STM32CubeWL3 HAL ja LL täiendavad üksteist, hõlmates laia valikut rakendusnõudeid.
- Kasutajad saavad neid API-sid kasutada, et mikrokontrolleri riistvaraga tõhusalt suhelda.
Sissejuhatus
STM32Cube on STMicroelectronicsi originaalalgatus, mis parandab oluliselt disainerite tootlikkust, vähendades arendustegevust, aega ja kulusid. STM32Cube katab kogu STM32 portfelli. STM32Cube sisaldab:
STM32Cube sisaldab:
- Kasutajasõbralike tarkvaraarendustööriistade komplekt, mis katab projekti arendamise alates kontseptsioonist kuni teostuseni, sealhulgas:
- STM32CubeMX, graafiline tarkvara konfiguratsioonitööriist, mis võimaldab graafiliste viisardite abil automaatselt genereerida C-initsialiseerimiskoodi
- STM32CubeIDE, kõik-ühes arendustööriist perifeerse konfiguratsiooni, koodi genereerimise, koodide kompileerimise ja silumisfunktsioonidega
- STM32CubeCLT, kõik-ühes käsurea arendustööriistade komplekt koodi koostamise, plaadi programmeerimise ja silumisfunktsioonidega
- STM32CubeProgrammer (STM32CubeProg), programmeerimistööriist, mis on saadaval graafilises ja käsurea versioonis
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), võimsad jälgimistööriistad STM32 rakenduste käitumise ja jõudluse reaalajas viimistlemiseks
- STM32Cube MCU ja MPU paketid, iga mikrokontrolleri ja mikroprotsessori seeria jaoks spetsiifilised terviklikud manustatud tarkvaraplatvormid (nt STM32CubeWL3 tootesarja STM32WL3x jaoks), mis hõlmavad järgmist:
- STM32Cube'i riistvara abstraktsioonikiht (HAL), mis tagab maksimaalse kaasaskantavuse kogu STM32 portfellis
- STM32Cube madala kihi API-d, mis tagavad parima jõudluse ja jalajälje ning kasutajal on riistvara üle suur kontroll
- Järjepidev vahevara komponentide komplekt, nagu FreeRTOS™ kernel, FatFS ja Sigfox™
- Kõik manustatud tarkvara utiliidid koos välisseadmete ja rakenduste täielike komplektidega, ntamples
- STM32Cube'i laienduspaketid, mis sisaldavad manustatud tarkvarakomponente, mis täiendavad STM32Cube'i MCU- ja MPU-pakettide funktsioone:
- Vahevara laiendused ja rakenduskihid
- Examples töötab mõnel konkreetsel STMicroelectronics arendusplaadil
- See kasutusjuhend kirjeldab, kuidas alustada STM32CubeWL3 MCU paketi kasutamist.
Jaotis 2 kirjeldab STM32CubeWL3 põhifunktsioone ja jaotis 3 pakub üleview selle arhitektuurist ja MCU paketi struktuurist.
Üldine teave
- STM32CubeWL3 töötab alla GHz näidisrakendusi, sealhulgas Sigfox™ kahendfaile, STM32WL3x tootesarja mikrokontrolleritel, mis põhinevad Arm® Cortex®-M0+ protsessoril.
- Mikrokontrolleritesse STM32WL3x on integreeritud STMicroelectronicsi tipptasemel alamGHz-ühilduv RF-raadiovälisseade, mis on optimeeritud ülimadala energiatarbimise ja suurepärase raadiojõudluse jaoks, mis tagab aku võrratu tööea.
Märkus. Arm on ettevõtte Arm Limited (või selle tütarettevõtete) registreeritud kaubamärk USA-s ja/või mujal.
STM32CubeWL3 peamised omadused
- STM32CubeWL3 MCU pakett töötab STM32 32-bitistel mikrokontrolleritel, mis põhinevad Arm® Cortex®-M0+ protsessoril. See koondab ühte paketti kõik üldised manustatud tarkvarakomponendid, mis on vajalikud rakenduse arendamiseks STM32WL3x tootesari mikrokontrollerid.
- Pakett sisaldab madala kihi (LL) ja riistvara abstraktsioonikihi (HAL) API-sid, mis katavad mikrokontrolleri riistvara, koos ulatusliku komplektigaamples töötab STMicroelectronics plaatidel. HAL ja LL API-d on kasutaja mugavuse huvides saadaval avatud lähtekoodiga BSD litsentsina. See sisaldab ka Sigfox™, FatFS ja FreeRTOS™ kerneli vahevara komponente.
- STM32CubeWL3 MCU pakett pakub ka mitmeid rakendusi ja esitlusi, mis rakendavad kõiki selle vahevara komponente.
- STM32CubeWL3 MCU paketi komponentide paigutus on näidatud joonisel 1.
STM32CubeWL3 arhitektuur läbiview
- STM32CubeWL3 MCU paketi lahendus on üles ehitatud kolmele sõltumatule tasemele, mis on hõlpsasti interakteeruvad, nagu on kirjeldatud joonisel 2.
0. tase
See tase on jagatud kolmeks alamkihiks:
- Juhatuse tugipakett (BSP).
- Riistvara abstraktsioonikiht (HAL):
- HAL välisseadmete draiverid
- Madala kihi draiverid
- Välisseadmete põhikasutus, ntampvähem.
Tahvli tugipakett (BSP)
See kiht pakub komplekti API-sid, mis on seotud riistvaraplaatide riistvarakomponentidega (nt LED-id, nupud ja COM-draiverid). See koosneb kahest osast:
Komponent:
- See on plaadil oleva välisseadme, mitte STM32 draiver. Komponendi draiver pakub BSP draiveri väliskomponentidele spetsiifilisi API-sid ja seda saab kaasas kanda mis tahes muule plaadile.
- BSP draiver:
- See võimaldab linkida komponentide draiverid kindla tahvliga ja pakub kasutajasõbralikke API-sid. API nimetamise reegel on BSP_FUNCT_Action().
- Example: BSP_LED_Init(), BSP_LED_On()
BSP põhineb modulaarsel arhitektuuril, mis võimaldab hõlpsat portimist mis tahes riistvarale, rakendades lihtsalt madala taseme rutiinid.
Riistvara abstraktsioonikiht (HAL) ja madalkiht (LL)
STM32CubeWL3 HAL ja LL täiendavad üksteist ja katavad laia valikut rakendusnõudeid:
- HAL-draiverid pakuvad kõrgetasemelisi funktsioonidele orienteeritud väga kaasaskantavaid API-sid. Need peidavad lõppkasutaja ees MCU ja välisseadmete keerukuse.
HAL-draiverid pakuvad üldisi mitme eksemplari funktsioonidele orienteeritud API-sid, mis lihtsustavad kasutajarakenduse juurutamist, pakkudes kasutusvalmis protsesse. Näiteksample, sidevälisseadmete (I2C, UART jt) jaoks pakub see API-sid, mis võimaldavad välisseadme lähtestada ja konfigureerida, hallata andmeedastust pollimise, katkestamise või DMA protsessi alusel ning käsitleda side ajal tekkida võivaid sidevigu. HAL-draiveri API-d on jagatud kahte kategooriasse:- Üldised API-d, mis pakuvad ühiseid ja üldisi funktsioone kõigile STM32 seeria mikrokontrolleritele.
- Laiendusliidesed, mis pakuvad spetsiifilisi ja kohandatud funktsioone konkreetse perekonna või konkreetse osanumbri jaoks.
- Madala kihi API-d pakuvad madala taseme API-sid registri tasemel parema optimeerimisega, kuid väiksema teisaldatavusega.
Need nõuavad sügavaid teadmisi MCU ja välisseadmete spetsifikatsioonidest.
LL-draiverid on loodud pakkuma kiiret kerget, asjatundjatele orienteeritud kihti, mis on riistvarale lähemal kui HAL. Vastupidiselt HAL-ile ei pakuta LL API-sid välisseadmetele, mille jaoks optimeeritud juurdepääs ei ole põhifunktsioon, või neile, mis nõuavad rasket tarkvarakonfiguratsiooni või keerukat kõrgema taseme pinu.
LL-draiverite funktsioonid: - Funktsioonide komplekt välisseadmete põhifunktsioonide lähtestamiseks vastavalt andmestruktuurides määratud parameetritele.
- Funktsioonide komplekt lähtestamisandmete struktuuride täitmiseks igale väljale vastavate lähtestusväärtustega.
- Välisseadmete deinitsialiseerimise funktsioon (välisseadmete registrid taastatakse vaikeväärtustele).
- Sisseehitatud funktsioonide komplekt otseseks ja aatomiregistri juurdepääsuks.
- Täielik sõltumatus HAL-ist ja võimalus kasutada eraldiseisvas režiimis (ilma HAL-draiveriteta).
- Toetatud välisseadmete täielik katvus.
Välisseadmete põhikasutus, ntamples
See kiht ümbritseb exampehitatud üle STM32 välisseadmete, kasutades ainult HAL- ja BSP-ressursse.
Märkus. Demonstratsioon eksamples on saadaval ka keerukamate eksample stsenaariumid konkreetsete välisseadmetega, nagu MRSUBG ja LPAWUR.
1. tase
See tase on jagatud kaheks alamkihiks:
- Vahevara komponendid
- Examppõhinevad vahevara komponentidel
Vahevara komponendid
Vahevara on teekide komplekt, mis hõlmab FreeRTOS™-i tuuma, FatFS-i ja Sigfox™-i protokolliteeki.
Selle kihi komponentide horisontaalne interaktsioon toimub esiletoodud API-de kutsumisega.
Vertikaalne suhtlus madala kihi draiveritega toimub spetsiifiliste tagasihelistamiste ja staatiliste makrode kaudu, mis on rakendatud raamatukogu süsteemi kõneliideses.
Iga vahevara komponendi põhifunktsioonid on järgmised:
- FreeRTOS™ kernel: rakendab reaalajas operatsioonisüsteemi (RTOS), mis on loodud manustatud süsteemide jaoks.
- Sigfox™: rakendab Sigfox™-i protokolliteeki, mis ühildub Sigfox™-i protokollivõrguga, ja sisaldab RF-testiprotokolli teeki, et testida RF-i Sigfox™-i tööriistade vastu.
- FatFS: rakendab üldist FAT-i file süsteemi moodul.
Examppõhinevad vahevara komponentidel
- Iga vahevara komponendiga on kaasas üks või mitu eksamples, mida nimetatakse ka rakendusteks, mis näitab, kuidas seda kasutada.
- Integratsioon ntampPakutakse ka mitut vahevara komponenti kasutavaid tooteid.
STM32CubeWL3 püsivara pakett läbiview
Toetatud STM32WL3x seadmed ja riistvara
- STM32 Cube pakub suurel määral kaasaskantavat riistvara abstraktsioonikihti (HAL), mis on ehitatud üldise arhitektuuri ümber. See võimaldab ülesehituskihtide põhimõtet, näiteks vahevara kihi kasutamist nende funktsioonide rakendamiseks, teadmata põhjalikult, mida MCU-d kasutatakse. See parandab teegi koodi korduvkasutatavust ja tagab hõlpsa teisaldatavuse teistesse seadmetesse.
- Lisaks oma kihilise arhitektuuriga STM32CubeWL3 pakub täielikku tuge kogu STM32WL3x tootesarjale.
- Kasutaja peab failis stm32wl3x.h määratlema ainult õige makro.
- Tabelis 1 on näidatud makro, mis tuleb määrata sõltuvalt kasutatavast tootesarja STM32WL3x seadmest. See makro peab olema määratletud ka kompilaatori eelprotsessoris.
Tabel 1. Tootesarja STM32WL3x makrod
Makro on määratletud aastal STM32WL3X.h | STM32WL3x tootesarja seadmed |
stm32wl3x | STM32WL30xx mikrokontrollerid STM32WL31xx mikrokontrollerid STM32WL33xx mikrokontrollerid |
Tabel 2. Tootesarja STM32WL3x lauad
juhatus | STM32WL3x plaadiga toetatud seadmed |
NUCLEO-WL33CC1 | STM32WL33CC |
NUCLEO-WL33CC2 | STM32WL33CC |
STM32CubeWL3 MCU pakett võib töötada mis tahes ühilduva riistvaraga. Kasutajad värskendavad BSP draivereid, et portida kaasasolevat eksampnende tahvlitel, kui neil on samad riistvarafunktsioonid (nt LED-id või nupud).
Püsivarapakett läbiview
- STM32CubeWL3 MCU paketi lahendus on saadaval ühes tõmblukus, mille struktuur on näidatud joonisel 3.
Ettevaatust: Kasutaja ei tohi komponente muuta files. Kasutaja saab redigeerida ainult allikaid \Projects. Iga tahvli jaoks komplekt examples on varustatud EWARM-i, MDK-ARM-i ja STM32CubeIDE-tööriistaahelate eelkonfigureeritud projektidega.
Joonisel 4 on näidatud NUCLEO-WL33CCx plaatide projekti struktuur.
EndineampNeed liigitatakse sõltuvalt STM32CubeWL3 tasemest, millele need kehtivad. Neid nimetatakse järgmiselt:
- Tase 0, ntamplesid nimetatakse Examples, ntamples_LL ja Examples_MIX. Nad kasutavad vastavalt HAL-draivereid, LL-draivereid ning HAL- ja LL-draiverite segu ilma vahevarakomponendita. Demonstratsioon eksamples on ka saadaval.
- Tase 1, ntamplesid nimetatakse rakendusteks. Need pakuvad iga vahevara komponendi tüüpilisi kasutusjuhtumeid.
Iga kindla tahvli püsivararakendust saab kiiresti luua, kasutades malliprojekte, mis on saadaval kataloogides Templates ja Templates_LL.
Examples, ntamples_LL ja Examples_MIX-il on sama struktuur:
- \Inc kaust, mis sisaldab kogu päist files.
- \Src kaust, mis sisaldab lähtekoodi.
- \EWARM, \MDK-ARM ja \STM32CubeIDE kaustad, mis sisaldavad iga tööriistaahela eelkonfigureeritud projekti.
- readme.md ja readme.html, mis kirjeldavad endistampkäitumist ja selle toimimiseks vajalikku keskkonda.
STM32CubeWL3-ga alustamine
Juhtib esimest endistample
See jaotis selgitab, kui lihtne on esimese endise käivitamineample STM32CubeWL3 sees. See kasutab näitena lihtsa LED-lüliti genereerimist, mis töötab NUCLEO-WL33CC1 plaadil:
- Laadige alla STM32CubeWL3 MCU pakett.
- Pakkige see lahti või käivitage installiprogramm, kui see on olemas, teie valitud kataloogi.
- Ärge muutke joonisel 3 näidatud paketi struktuuri. STM32CubeWL3 püsivara paketi struktuur. Pange tähele, et pakett on soovitatav kopeerida ka juurköite lähedale (see tähendab C:\ST või G:\Tests), kuna mõnel IDE-l tekib probleeme, kui tee on liiga pikk.
Kuidas juhtida HAL example
Enne endise laadimist ja käivitamistample, on tungivalt soovitatav lugeda eksample loe mind file mis tahes konkreetse konfiguratsiooni jaoks.
- Sirvige jaotist \Projects\NUCLEO-WL33CC\Exampvähem.
- Avage kaustad \GPIO ja seejärel \GPIO_EXTI.
- Avage projekt eelistatud tööriistaahelaga. Kiire lõppview kuidas endist avada, ehitada ja juhtidaample koos toetatud tööriistakettidega on toodud allpool.
- Ehitage kõik uuesti files ja laadige pilt sihtmällu.
- Käivitage endineample. Lisateabe saamiseks vaadake endistample loe mind file.
Endise avamiseks, ehitamiseks ja käitamiseksampiga toetatud tööriistaahelaga, järgige alltoodud samme.
- EWARM:
- Examples kaustas, avage alamkaust \EWARM.
- Käivitage tööruum Project.eww (tööruumi nimi võib muutuda ühe ntample teisele).
- Ehitage kõik uuesti files: [Projekt]> [Ehita kõik uuesti].
- Laadige projekti pilt: [Projekt]>[Silumine].
- Käivitage programm: [Silumine]> [Mine (F5)].
- MDK-ARM:
- Examples kaustas, avage alamkaust \MDK-ARM.
- Avage tööruum Project.uvproj (tööruumi nimi võib muutuda ühe ntample teisele).
- Ehitage kõik uuesti files: [Projekt]>[Ehita kõik sihtmärgid uuesti files].
- Laadige projekti pilt: [Silumine]> [Start/Stop Silumisseanss].
- Käivitage programm: [Silumine]> [Käivita (F5)].
- STM32CubeIDE:
- Avage STM32CubeIDE tööriistakett.
- Kliki [File]>[Vaheta tööruumi]>[Muu] ja sirvige STM32CubeIDE tööruumi kataloogi.
- Kliki [File]> [Import], valige [Üldine]> [Olemasolevad projektid tööruumi] ja seejärel klõpsake [Järgmine].
- Sirvige STM32CubeIDE tööruumi kataloogi ja valige projekt.
- Ehitage kogu projekt uuesti files: Valige Project Exploreri aknas projekt, seejärel klõpsake menüül [Project]> [Build project].
- Käivitage programm: [Käivita]>[Silumine (F11)].
Kohandatud rakenduse arendamine
STM32CubeMX kasutamine rakenduse arendamiseks või värskendamiseks
- STM32Cube MCU paketis on peaaegu kõik projektid, ntamples genereeritakse STM32CubeMX tööriistaga süsteemi, välisseadmete ja vahevara lähtestamiseks.
Olemasoleva projekti otsene kasutamine ntampSTM32CubeMX tööriista jaoks on vaja STM32CubeMX 6.12.0 või uuemat versiooni:
- Pärast STM32CubeMX installimist avage ja vajadusel värskendage pakutud projekt.
Lihtsaim viis olemasoleva projekti avamiseks on topeltklõps *.ioc file nii et STM32CubeMX avab automaatselt projekti ja selle allika files. STM32CubeMX genereerib selliste projektide lähtekoodi. - Peamise rakenduse lähtekoodi sisaldavad kommentaarid "KASUTAJAKOODI ALGUS" ja "KASUTAJAKOODI LÕPP". Kui välisseadmete valikut ja sätteid muudetakse, värskendab STM32CubeMX koodi lähtestamisosa, säilitades samal ajal põhirakenduse lähtekoodi.
- Kohandatud projekti arendamiseks STM32CubeMX-iga järgige samm-sammult:
- Konfigureerige kogu nõutav manustatud tarkvara, kasutades pinout-konfliktide lahendajat, kellapuu seadistusabi, energiatarbimise kalkulaatorit ja MCU välisseadmete konfiguratsiooni teostavat utiliiti (nt GPIO või USART).
- Valitud konfiguratsiooni põhjal genereerige lähtestamiskood C. See kood on kasutamiseks valmis mitmes arenduskeskkonnas. Kasutajakoodi säilitatakse järgmisel koodi genereerimisel.
Lisateavet STM32CubeMX kohta leiate kasutusjuhendist STM32CubeMX STM32 konfigureerimise ja lähtestamise C-koodi genereerimiseks (UM1718).
Draiveri rakendused
HAL rakendus
Selles jaotises kirjeldatakse samme, mis on vajalikud kohandatud HAL-rakenduse loomiseks, kasutades STM32CubeWL3
- Loo projekt
Uue projekti loomiseks alustage iga tahvli jaoks \Projects\ all olevast malliprojektist \Mallid või mis tahes saadaolevast projektist jaotises \Projects\ \Ntamples või \Proj ects\ \Rakendused (kus viitab tahvli nimele).
Mallprojekt pakub tühja põhitsükli funktsiooni. Siiski on see hea lähtepunkt STM32CubeWL3 projekti sätete mõistmiseks. Mallil on järgmised omadused:- See sisaldab HAL-i lähtekoodi, CMSIS-i ja BSP-draivereid, mis on minimaalne komponentide komplekt, mis on vajalik antud plaadil koodi väljatöötamiseks.
- See sisaldab kõigi püsivara komponentide kaasatud teid.
- See määratleb toetatud STM32WL3x tootesarja seadmed, võimaldades CMSIS- ja HAL-draivereid õigesti konfigureerida.
- See pakub kasutusvalmis kasutajat fileon eelkonfigureeritud, nagu allpool näidatud:
- HAL lähtestati vaikeaja baasiga Arm®-i tuuma SysTicki abil.
- SysTicki ISR on rakendatud HAL_Delay() eesmärgil.
- Märkus. Olemasoleva projekti teise asukohta kopeerimisel veenduge, et kõik kaasatud teed oleksid värskendatud.
- Konfigureerige püsivara komponendid
HAL ja vahevara komponendid pakuvad komplekti ehitusaja konfiguratsioonivalikuid, kasutades päises deklareeritud #define makrosid file. Malli konfiguratsioon file on igas komponendis, mis tuleb kopeerida projekti kausta (tavaliselt konfiguratsioon file on fragment nimega xxx_conf_template.h- mall tuleb selle projekti kausta kopeerimisel eemaldada). Konfiguratsioon file annab piisavalt teavet, et mõista iga konfiguratsioonivaliku mõju. Üksikasjalikum teave on saadaval iga komponendi dokumentatsioonis.
- Käivitage HAL-i raamatukogu
Pärast põhiprogrammi hüppamist peab rakenduse kood kutsuma HAL_Init() API-d, et lähtestada HAL teegi, mis täidab järgmisi ülesandeid:- Välkmälu eellaadimise ja SysTicki katkestuse prioriteedi konfigureerimine (makrode kaudu, mis on määratletud failis stm32 wl3x_hal_conf.h).
- SysTicki konfiguratsioon, et genereerida katkestus iga millisekundi SysTicki katkestuse prioriteediga TICK_INT_PRIO, mis on määratletud failis stm32wl3x_hal_conf.h.
- NVIC-grupi prioriteediks on seatud 0.
- Kasutajas stm32wl3x_hal_msp.c määratud tagasihelistamisfunktsiooni HAL_MspInit() väljakutse file globaalsete madala taseme riistvara initsialiseerimiseks.
- Konfigureerige süsteemi kell
Süsteemi kella konfigureerimiseks helistatakse kahele allpool kirjeldatud API-le:- HAL_RCC_OscConfig(): see API konfigureerib sisemised ja välised ostsillaatorid. Kasutaja valib
konfigureerida üks või kõik ostsillaatorid. - HAL_RCC_ClockConfig(): see API konfigureerib süsteemi kella allika, välkmälu latentsuse ning AHB ja APB eelskaalajad.
- HAL_RCC_OscConfig(): see API konfigureerib sisemised ja välised ostsillaatorid. Kasutaja valib
- Initsialiseerige välisseade
- Esmalt kirjutage perifeerse lähtestamise funktsioon. Toimige järgmiselt.
- Luba välisseadmete kell.
- Välisseadmete GPIO-de konfigureerimine.
- Konfigureerige DMA kanal ja lubage DMA katkestus (vajadusel).
- Luba välisseadmete katkestus (vajadusel).
- Vajadusel redigeerige faili stm32xxx_it.c, et kutsuda välja vajalikud katkestuste töötlejad (välisseadmed ja DMA).
- Kirjutage protsessi täielikud tagasihelistamise funktsioonid, kui on ette nähtud välisseadme katkestus või DMA.
- Kasutajas main.c file, lähtestage välisseadme käepideme struktuur ja seejärel kutsuge välisseadme lähtestamiseks välja välisseadme lähtestamisfunktsioon.
- Arendage rakendus
Sellel stage, süsteem on valmis ja kasutajarakenduse koodi arendamine võib alata.
HAL pakub välisseadmete konfigureerimiseks intuitiivseid ja kasutusvalmis API-sid. See toetab küsitlust, katkestusi ja DMA programmeerimismudelit, et rahuldada kõiki rakenduse nõudeid. Iga välisseadme kasutamise kohta lisateabe saamiseks vaadake rikkalikku endistampSTM32CubeWL3 MCU paketis sisalduv komplekt.
Ettevaatust: HAL-i vaikerakenduses kasutatakse ajabaasina SysTicki taimerit: see genereerib katkestused regulaarsete ajavahemike järel. Kui HAL_Delay() kutsutakse perifeerse ISR-i protsessist, veenduge, et SysTicki katkestuse prioriteet on kõrgem (arvuliselt madalam) kui välisseadme katkestusel. Vastasel juhul blokeeritakse helistaja ISR-protsess. Funktsioonid, mis mõjutavad ajabaasi konfiguratsioone, on kuulutatud kui __nõrgad, et muuta kasutaja muude rakenduste korral alistamine võimalikuks file (kasutades üldotstarbelist taimerit, ntample või mõni muu ajaallikas). Lisateabe saamiseks vaadake HAL_TimeBase example.
LL rakendus
Selles jaotises kirjeldatakse samme, mis on vajalikud kohandatud LL-rakenduse loomiseks, kasutades STM32CubeWL3.
- Loo projekt
Uue projekti loomiseks alustage iga tahvli jaoks jaotises \Projects\ pakutavast projektist Templates_LL \Templates_LL või mis tahes saadaolevast projektist jaotises \Projects\ \Ntamples_ LL ( viitab tahvli nimele, näiteks NUCLEO-WL32CC33).
Mallprojekt pakub tühja põhisilmuse funktsiooni, mis on hea lähtepunkt STM32CubeWL3 projekti sätete mõistmiseks. Malli peamised omadused on järgmised:- See sisaldab LL- ja CMSIS-draiverite lähtekoode, mis on minimaalne komponentide komplekt, mis on vajalik koodi arendamiseks antud plaadil.
- See sisaldab kõigi vajalike püsivara komponentide kaasasolevaid teid.
- See valib toetatud STM32WL3x tootesarja seadme ja võimaldab CMSIS- ja LL-draiverite õiget konfigureerimist.
- See pakub kasutusvalmis kasutajat files, mis on eelkonfigureeritud järgmiselt:
- main.h: LED ja USER_BUTTON määratlusega abstraktsioonikiht.
- main.c: süsteemi kella konfiguratsioon maksimaalse sageduse jaoks.
- Port LL example:
- Kopeerige/kleepige kaust Templates_LL – et säilitada algallikas – või värskendage otse olemasolevat Template s_LL projekti.
- Seejärel seisneb teisaldamine peamiselt Templates_LL asendamises files eksamples_LL suunatud projekt.
- Hoidke kõik plaadi spetsiifilised osad alles. Selguse huvides on plaadi spetsiifilised osad tähistatud konkreetsega tags:
- Seega on peamised teisaldamise etapid järgmised:
- Asendage fail stm32wl3x_it.h file.
- Asendage fail stm32wl3x_it.c file.
- Vahetage pea.h file ja värskendage seda: hoidke LL-malli LED-i ja kasutajanupu definitsiooni jaotises PLAADI SPECIFIC CONFIGURATION tags.
- Vahetage põhi.c file ja värskendage seda:
- Hoidke mallifunktsiooni SystemClock_Config() LL kella konfiguratsioon jaotises PLAADI SPECIFIKA CONFIGURATION tags.
- Sõltuvalt LED-i definitsioonist asendage iga LDx-i esinemine mõne muu LDy-ga, mis on saadaval file põhi.h.
- Nende muudatustega on endineample jookseb sihitud pardal.
RF-rakendused, esitlused ja ntamples
Erinevat tüüpi RF-rakendused, esitlused ja ntamples on saadaval STM32CubeWL3 paketis.
Need on loetletud kahes allolevas jaotises.
Sub-GHz ntamples ja meeleavaldused
Need examples demonstreerivad MRSUBG ja LPAWUR raadiovälisseadmete põhifunktsioone. Need examples on saadaval all:
- Projektid\NUCLEO-WL33CC\Examples\MRSUBG
- Projektid\NUCLEO-WL33CC\Examples\LPAWUR
- Projektid\NUCLEO-WL33CC\Demonstratsioonid\MRSUBG
- Projektid\NUCLEO-WL33CC\Demonstratsioonid\LPAWUR
Iga eksample või demonstratsioon koosneb üldiselt kahest programmist nimega Tx ja Rx, mis toimivad vastavalt saatja ja vastuvõtjana:
Examples/MRSUBG
- MRSUBG_802_15_4: standardiga 802.15.4 määratletud füüsilise kihi teostus. See näitab, kuidas konfigureerida raadio 802.15.4 pakette saatma või vastu võtma.
- MRSUBG_BasicGeneric: STM32WL3x MR_SUBG põhipakettide vahetus.
- MRSUBG_Chat: lihtne rakendus, mis näitab, kuidas kasutada Tx ja Rx samas seadmes.
- MRSUBG_DatabufferHandler: eksample, mis näitab, kuidas vahetada andmepuhvrist 0 ja 1.
- MRSUBG_Sequencer AutoAck: eksample, mis saadab ja võtab vastu automaatselt pakettkinnitusi (ACK-id).
- MRSUBG_WMBusSTD: WM-Busi sõnumite vahetus.
- WakeupRadio: endineampLPAWUR raadio välisseadme testimiseks.
Meeleavaldused/MRSUBG
- MRSUBG_RTC_Button_TX: see ntample näitab, kuidas seada SoC sügavpeatusrežiimi ja konfigureerida MRSUBG SoC-i äratama, vajutades kaadri saatmiseks nuppu PB2 või pärast RTC-taimeri aegumist.
- MRSUBG_Sequencer_Sniff: see eksample näitab, kuidas seadistada MRSUBG sekvenser töötama nuusutamisrežiimis. See eksample demonstreerib vastuvõtja poolt ja nõuab saatjaks teist seadet.
- MRSUBG_Timer: rakendus ajastab mitu MRSUBG-taimeri eksemplari (koos automaatse taaslaadimisega) erinevate ajavahemike järel.
- MRSUBG_WakeupRadio_Tx: see eksample selgitab, kuidas seada SoC sügavasse seiskamisrežiimi ja konfigureerida MRSUBG SoC-i äratama, vajutades kaadri saatmiseks nuppu PB2. See eksample demonstreerib saatja poolt ja nõuab LPAWUR-vastuvõtjana teist seadet. Vastuvõtja ntample asub kausta NUCLEO-WL33CC\Demonstrations\LPAWUR\LPAWUR_WakeupRadio_Rx all.
Meeleavaldused/LPAWUR
- LPAWUR_WakeupRadio_Rx: see eksample selgitab, kuidas seada SoC sügavpeatusrežiimi ja konfigureerida LPAWUR SoC-d äratama, kui kaader saabub ja on õigesti vastu võetud. See eksample demonstreerib vastuvõtja poolt ja nõuab saatjaks teist seadet. Saatja ntample asub kausta NUCLEO-WL33CC\Demonstrations\MRSUBG\MRSUBG_WakeupRadio_Tx all.
Sigfox™ rakendus
Need rakendused näitavad, kuidas rakendada Sigfoxi™ stsenaariumi ja kasutada saadaolevaid Sigfox™ API-sid. Need on saadaval projekti teel Projects\NUCLEO-WL33CC\Applications\Sigfox\:
- Sigfox_CLI: see rakendus näitab, kuidas kasutada käsurea liidest (CLI), et saata käske, mis kasutavad Sigfox™-i protokolli sõnumite saatmiseks ja eelsertifitseerimistestide tegemiseks.
- Sigfox_PushButton: see rakendus võimaldab hinnata seadme STM32WL33xx Sigfox™ raadiovõimalusi. PB1 vajutamine edastab Sigfoxi™ testkaadri.
Läbivaatamise ajalugu
Tabel 3. Dokumendi redaktsioonide ajalugu
Kuupäev | Läbivaatamine | Muudatused |
29. märts 2024 | 1 | Esialgne vabastamine. |
30.-2024. oktoober | 2 | STM32CubeWL3 täielik integreerimine STM32Cube'i. Värskendatud:
• Sissejuhatus • 2. jaotis: STM32CubeWL3 põhifunktsioonid • Jaotis 3.2.1: Vahevara komponendid • 4. jaotis: STM32CubeWL3 püsivarapakett on üleview • Jaotis 5.1: esimese eksample • Jaotis 5.3: RF-rakendused, esitlused ja ntamples Lisatud: • Jaotis 5.1.1: Kuidas kasutada HAL-i example • Jaotis 5.2.1: STM32CubeMX kasutamine rakenduse arendamiseks või värskendamiseks • Sjaotis 6.4: kas MRSUBG/LPAWUR välisseadmete ex jaoks on malliprojektampvähem? • Jaotis 6.5: Kuidas saab STM32CubeMX luua manustatud tarkvaral põhinevat koodi? Eemaldatud: • PC tööriistad, sealhulgas Navigaator, STM32WL3 GUI, ja MR-SUBG järjestuse GUI • Kuidas saab WiSE-Studio IOMapper manustatud tarkvaral põhinevat koodi genereerida? • Kas Navigator võimaldab juurdepääsu tarkvarapaketi ressurssidele? |
22. jaanuar 2025 | 3 | Laiendati kohaldatavate seadmete valikut STM32WL30xx ja STM32WL31xx mikrokontrolleritele tabelis 1. STM32WL3x tootesarja makrod. |
TÄHTIS MÄRKUS – LUGEGE HOOLIKAS
- STMicroelectronics NV ja selle tütarettevõtted („ST”) jätavad endale õiguse teha ST-toodetes ja/või selles dokumendis igal ajal ilma ette teatamata muudatusi, parandusi, täiendusi, modifikatsioone ja täiendusi. Ostjad peaksid enne tellimuste esitamist hankima uusima asjakohase teabe ST-toodete kohta. ST tooteid müüakse vastavalt ST müügitingimustele, mis kehtisid tellimuse kinnitamise ajal.
- Ostjad vastutavad ainuisikuliselt ST-toodete valiku, valiku ja kasutamise eest ning ST ei vastuta rakendusabi ega ostjate toodete disaini eest.
- ST ei anna siinkohal mingit otsest ega kaudset litsentsi ühelegi intellektuaalomandi õigusele.
- ST-toodete edasimüük, mille sätted erinevad siin esitatud teabest, tühistab ST-i antud tootele antud garantii.
- ST ja ST logo on ST kaubamärgid. ST-kaubamärkide kohta lisateabe saamiseks vaadake www.st.com/trademarks. Kõik muud toote- või teenusenimed kuuluvad nende vastavatele omanikele.
- Selles dokumendis sisalduv teave asendab ja asendab selle dokumendi varasemates versioonides esitatud teabe.
- © 2025 STMicroelectronics – kõik õigused kaitstud
KKK
Millal peaksin kasutama LL-draiverite asemel HAL-i?
HAL-draiverid pakuvad kõrgetasemelisi ja funktsioonidele orienteeritud API-sid, millel on kõrge kaasaskantavus. Toote või välisseadmete keerukus on lõppkasutajate jaoks peidetud. LL-draiverid pakuvad madalama kihi registritaseme API-sid, millel on parem optimeerimine, kuid vähem kaasaskantav. Need nõuavad põhjalikke teadmisi toote või IP spetsifikatsioonide kohta.
Kuidas on LL-i lähtestamise API-d lubatud?
LL-i lähtestamise API-de ja nendega seotud ressursside struktuuride literaalide ja prototüüpide definitsiooni määrab kompileerimislüliti USE_FULL_LL_DRIVER. LL-i lähtestamise API-de kasutamiseks lisage see lüliti tööriistaahela kompilaatori eelprotsessorisse.
Kas MRSUBG/LPAWUR välisseadmete ex jaoks on mõni malliprojekt?ampvähem?
Uue MRSUBG või LPAWUR example projekti, alustage kas skeletiprojektist, mis on esitatud jaotises Pr ojectsNUCLEO-33CC Examples MRSUBG või ProjectsNUCLEO-WL33CC Examples LPAWUR või mis tahes saadaolevast projektist samades kataloogides.
Kuidas saab STM32CubeMX sisseehitatud tarkvaral põhinevat koodi genereerida?
STM32CubeMX-l on sisseehitatud teadmised STM32 mikrokontrolleritest, sealhulgas nende välisseadmetest ja tarkvarast, mis võimaldab pakkuda kasutajale graafilist esitust ja luua .h või .c. files põhineb kasutaja konfiguratsioonil.
Dokumendid / Ressursid
![]() |
ST STM32WL3x mikrokontrollerid [pdfKasutusjuhend STM32WL3x Mikrokontrollerid, STM32WL3x, Mikrokontrollerid |