ST-LOGO

STM32WL3x Mikroregiloj

STM32WL3x-Mikroregiloj-PRODUKTO

Produktaj Uzado-Instrukcioj

  • La STM32CubeWL3-pakaĵo inkluzivas malaltajn tavolojn (LL) kaj hardvarajn abstraktajn tavolojn (HAL) APIojn kiuj kovras la mikroregila aparataron.
  • Ĝi ankaŭ provizas mezvarajn komponantojn kiel SigfoxTM, FatFS kaj FreeRTOS-kerno.
  • La pakaĵo venas kun ekzamples kaj aplikoj por facila efektivigo.
  • La arkitekturo STM32CubeWL3 estas konstruita ĉirkaŭ tri niveloj: Aplikoj, HAL kaj LL.
  • La HAL kaj LL-APIoj kovras larĝan gamon de aplikaĵpostuloj.
  • La HAL ofertas bazan periferian uzadon ekzamples, kaj la LL disponigas malaltnivelajn rutinojn.
  • Ĉi tiu nivelo inkluzivas la Board Support Package (BSP) kaj HAL-subtavolojn.
  • La BSP ofertas APIojn por hardvarkomponentoj sur tabuloj, dum HAL disponigas bazan periferian uzokutimon ekzamples.
  • BSP-ŝoforoj ligas komponentajn ŝoforojn al specifaj tabuloj, faciligante porti al alia aparataro.
  • La STM32CubeWL3 HAL kaj LL estas komplementaj, kovrante larĝan gamon de aplikaj postuloj.
  • Uzantoj povas utiligi ĉi tiujn API-ojn por interagi kun la mikroregila aparataro efike.

Enkonduko

STM32Cube estas originala iniciato de STMicroelectronics por plibonigi la produktivecon de la diseñador signife reduktante disvolvan penadon, tempon kaj koston. STM32Cube kovras la tutan biletujon de STM32. STM32Cube inkluzivas:

STM32Cube inkluzivas:

  • Aro da uzant-amika programaro-disvolvado por kovri projekt-evoluon de koncepto ĝis realigo, inter kiuj estas:
    • STM32CubeMX, grafika programara agorda ilo kiu permesas la aŭtomatan generacion de C-inicialigkodo uzante grafikajn sorĉistojn
    • STM32CubeIDE, ĉio-en-unu evoluilo kun periferia agordo, kodgenerado, kodkompilo, kaj sencimigaj funkcioj
    • STM32CubeCLT, ĉio-en-unu komandlinia disvolva ilaro kun kodkompilo, tabulprogramado, kaj sencimigaj funkcioj
    • STM32CubeProgrammer (STM32CubeProg), programa ilo havebla en grafikaj kaj komandliniaj versioj
    • STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), potencaj monitoraj iloj por agordi la konduton kaj efikecon de STM32-aplikoj en reala tempo
  • STM32Cube MCU kaj MPU-Pakoj, ampleksaj enigita-programaraj platformoj specifaj por ĉiu mikroregilo kaj mikroprocesora serio (kiel STM32CubeWL3 por la produktserio STM32WL3x), kiuj inkluzivas:
    • STM32Cube aparatara abstrakta tavolo (HAL), certigante maksimumigitan porteblon tra la STM32-paperaro
    • STM32Cube malalttavolaj API-oj, certigante la plej bonan rendimenton kaj spurojn kun alta grado da uzantkontrolo super aparataro
    • Konsekvenca aro de mezvaraj komponantoj kiel FreeRTOS™-kerno, FatFS kaj Sigfox™
    • Ĉiuj enigita programaro utilecoj kun plenaj aroj de ekstercentraj kaj aplikaj ekzamples
  • STM32Cube Expansion Packages, kiuj enhavas enkorpigitajn programajn komponentojn, kiuj kompletigas la funkciojn de la STM32Cube MCU kaj MPU-Pakoj kun:
    • Mezvaraj etendaĵoj kaj aplikaj tavoloj
    • Examples kurantaj sur iuj specifaj STMicroelectronics evolutabuloj
  • Ĉi tiu uzantmanlibro priskribas kiel komenci kun la STM32CubeWL3 MCU-Pako.

Sekcio 2 priskribas la ĉefajn trajtojn de STM32CubeWL3 kaj Section 3 provizas superview de ĝia arkitekturo kaj de la MCU Package strukturo.

Ĝenerala informo

  • STM32CubeWL3 ruligas sub-GHz-demonstrajn aplikojn, inkluzive de Sigfox™ binarojn, sur STM32WL3x produktseriomikroregiloj bazitaj sur la Arm® Cortex®-M0+ procesoro.
  • La mikroregiloj STM32WL3x enkonstruas la plej altnivelan sub-GHz-konforman RF-radian ekstercentran de STMicroelectronics, optimumigitan por ultra-malalta elektrokonsumo kaj bonega radioagado, por senekzempla bateria vivdaŭro.

Notu: Arm estas registrita varmarko de Arm Limited (aŭ ĝiaj filioj) en Usono kaj/aŭ aliloke.

STM32WL3x-Mikroregiloj-FIG-1

Ĉefaj trajtoj de STM32CubeWL3

  • La STM32CubeWL3 MCU-Pako funkcias per mikroregiloj STM32 de 32 bitoj bazitaj sur la procesoro Arm® Cortex®‑M0+. Ĝi kolektas, en ununura pakaĵo, ĉiujn senmarkajn enigitajn programajn komponentojn necesajn por evoluigi aplikaĵon por la STM32WL3x produktserio mikroregiloj.
  • La pakaĵo inkluzivas malaltan tavolon (LL) kaj hardvarabstraktan tavolon (HAL) API-ojn kiuj kovras la mikroregila aparataron, kune kun ampleksa aro de eks.amples kurantaj sur STMicroelectronics-tabuloj. La HAL kaj LL-APIoj estas haveblaj en malfermfonta BSD-licenco por uzantkonveno. Ĝi ankaŭ inkluzivas la Sigfox™, FatFS, kaj FreeRTOS™ kernaj mezvaraj komponantoj.
  • La STM32CubeWL3 MCU-Pako ankaŭ disponigas plurajn aplikojn kaj pruvojn efektivigantajn ĉiujn ĝiajn mezvarajn komponentojn.
  • La STM32CubeWL3 MCU Package-kompona aranĝo estas ilustrita en Figuro 1.

STM32WL3x-Mikroregiloj-FIG-2

STM32CubeWL3 arkitekturo finiĝisview

  • La STM32CubeWL3 MCU Package-solvo estas konstruita ĉirkaŭ tri sendependaj niveloj, kiuj facile interagas kiel priskribite en Figuro 2.

STM32WL3x-Mikroregiloj-FIG-3

Nivelo 0
Ĉi tiu nivelo estas dividita en tri subtavolojn:

  • Estraro-subtena pako (BSP).
  • Aparata abstrakta tavolo (HAL):
    • HAL ekstercentraj ŝoforoj
    • Malalttavolaj ŝoforoj
  • Baza periferia uzado ekzamples.

Estrara Subtena Pako (BSP)
Ĉi tiu tavolo ofertas aron de APIoj rilate al la hardvarkomponentoj en la hardvartabuloj (kiel ekzemple LEDoj, butonoj, kaj COM-ŝoforoj). Ĝi konsistas el du partoj:

Komponanto:

  • Ĉi tiu estas la ŝoforo relative al la ekstera aparato sur la tabulo kaj ne al la STM32. La komponentŝoforo disponigas specifajn APIojn al la BSP-ŝoforo eksteraj komponentoj kaj povus esti portebla sur iu alia tabulo.
    • BSP-ŝoforo:
  • Ĝi permesas ligi la komponentajn ŝoforojn al specifa tabulo kaj disponigas aron de uzant-amikaj APIoj. La API-nomregulo estas BSP_FUNCT_Action().
  • Example: BSP_LED_Init(), BSP_LED_On()

BSP estas bazita sur modula arkitekturo permesanta facilan porti sur ajna aparataro nur efektivigante la malaltnivelajn rutinojn.

Hardvara abstrakta tavolo (HAL) kaj malalta tavolo (LL)

La STM32CubeWL3 HAL kaj LL estas komplementaj kaj kovras larĝan gamon de aplikaj postuloj:

  • La HAL-ŝoforoj ofertas altnivelajn funkcio-orientitajn tre porteblajn API-ojn. Ili kaŝas la MCU kaj periferian kompleksecon al la finuzanto.
    La HAL-ŝoforoj disponigas senmarkajn multi-kazajn trajt-orientitajn APIojn, kiuj simpligas la uzantan aplikaĵefektivigon disponigante pretajn al-uzeblajn procezojn. Por ekzample, por la komunikadaj flankaparatoj (I2C, UART, kaj aliaj), ĝi disponigas APIojn permesantajn inicialigi kaj agordi la periferion, administrante datumtranslokigon bazitan sur balotado, interrompado, aŭ DMA-procezo, kaj pritraktante komunikajn erarojn kiuj povas ekesti dum komunikado. La HAL-ŝoforaj APIoj estas dividitaj en du kategoriojn:
    • Ĝeneralaj APIoj, kiuj disponigas komunajn kaj senmarkajn funkciojn al ĉiuj mikroregiloj de la serio STM32.
    • Etendaj APIoj, kiuj provizas specifajn kaj personecigitajn funkciojn por specifa familio aŭ specifa partnumero.
  • La malalt-tavolaj API-oj disponigas malalt-nivelajn API-ojn ĉe la registronivelo, kun pli bona optimumigo sed malpli porteblo.
    Ili postulas profundan scion pri la MCU kaj ekstercentraj specifoj.
    La LL-ŝoforoj estas dizajnitaj por oferti rapidan malpezan, spert-orientitan tavolon kiu estas pli proksima al la aparataro ol la HAL. Kontraŭe al la HAL, LL-APIoj ne estas disponigitaj por ekstercentraj kie optimumigita aliro ne estas ŝlosila trajto, aŭ por tiuj postulantaj pezan programaran agordon aŭ kompleksan supra-nivelan stakon.
    La LL-ŝoforoj prezentas:
  • Aro de funkcioj por pravalorigi periferiajn ĉefajn ecojn laŭ la parametroj specifitaj en datumstrukturoj.
  • Aro de funkcioj por plenigi komencajn datumstrukturojn kun la rekomencigitaj valoroj respondaj al ĉiu kampo.
  • Funkcio por periferia maliniciigo (periferiaj registroj restarigitaj al siaj defaŭltaj valoroj).
  • Aro de enliniaj funkcioj por rekta kaj atomregistra aliro.
  • Plena sendependeco de HAL kaj kapablo esti uzata en memstara reĝimo (sen HAL-ŝoforoj).
  • Plena priraportado de la subtenataj ekstercentraj funkcioj.

Baza periferia uzado ekzamples
Ĉi tiu tavolo enfermas la eksamples konstruitaj super la STM32-ekscentraloj uzante nur la HAL kaj BSP-resursojn.
Notu: Demonstro ekzamples estas ankaŭ disponeblaj por montri pli kompleksajn ekzample scenaroj kun specifaj ekstercentraj, kiel ekzemple la MRSUBG kaj LPAWUR.

Nivelo 1
Ĉi tiu nivelo estas dividita en du subtavolojn:

  • Mezvaraj komponantoj
  • Examples bazitaj sur la mezvaraj komponantoj

Mezvaraj komponantoj
La mezvaro estas aro de bibliotekoj kovrantaj la FreeRTOS™-kernon, FatFS kaj Sigfox™-protokolbibliotekon.
Horizontala interago inter la komponentoj de ĉi tiu tavolo estas farita per vokado de la elstaraj APIoj.
Vertikala interagado kun la malalt-tavolaj ŝoforoj estas farita per specifaj revokoj kaj senmovaj makrooj efektivigitaj en la biblioteka sistemvoka interfaco.
La ĉefaj trajtoj de ĉiu mezvaraĵo estas kiel sekvas:

  • FreeRTOS™-kerno: efektivigas realtempan operaciumon (RTOS), dizajnitan por enigitaj sistemoj.
  • Sigfox™: efektivigas la protokolbibliotekon Sigfox™ konforman al la protokola reto Sigfox™ kaj inkluzivas la RF-testprotokolbibliotekon por testi kontraŭ RF Sigfox™ iloj.
  • FatFS: efektivigas la senmarkan FAT file sistema modulo.

Examples bazitaj sur la mezvaraj komponantoj

  • Ĉiu mezvar-komponento venas kun unu aŭ pluraj ekzamples, ankaŭ nomitaj aplikoj, montrante kiel uzi ĝin.
  • Integriĝo ekzamples kiuj uzas plurajn mezvarajn komponentojn estas disponigitaj ankaŭ.

STM32CubeWL3 firmvarpakaĵo finiĝisview

Subtenataj aparatoj kaj aparataro STM32WL3x

  • STM32Kubo ofertas tre porteblan hardvarabstraktan tavolon (HAL) konstruitan ĉirkaŭ senmarka arkitekturo. Ĝi permesas la principon de konstruaĵaj tavoloj, kiel uzi la mezvaran tavolon por efektivigi iliajn funkciojn sen scii, profunde, kio MCU estas uzata. Ĉi tio plibonigas la reuzeblecon de la biblioteko kaj certigas facilan porteblon al aliaj aparatoj.
  • Krome, kun ĝia tavoligita arkitekturo, STM32CubeWL3 ofertas plenan subtenon por la tuta produktserio STM32WL3x.
  • La uzanto devas nur difini la ĝustan makroon en stm32wl3x.h.
  • Tabelo 1 montras la makroon por difini depende de la STM32WL3x produktlinia aparato uzita. Ĉi tiu makroo ankaŭ devas esti difinita en la kompilila antaŭprocesoro.

Tablo 1. Makrooj por produkta linio STM32WL3x

Makroo difinita en STM32WL3X.h STM32WL3x produktliniaj aparatoj
stm32wl3x STM32WL30xx mikroregiloj STM32WL31xx mikroregiloj STM32WL33xx mikroregiloj

Tabelo 2. Tabuloj por produkta linio STM32WL3x

Estraro STM32WL3x-tabulo subtenataj aparatoj
NUCLEO-WL33CC1 STM32WL33CC
NUCLEO-WL33CC2 STM32WL33CC

La STM32CubeWL3 MCU-Pako povas funkcii per iu ajn kongrua aparataro. La uzantoj ĝisdatigas la BSP-ŝoforojn por porti la provizitajn ekzamples sur siaj tabuloj, se ĉi tiuj havas la samajn aparatajn funkciojn (kiel LEDoj aŭ butonoj).

Firmware-pakaĵo finiĝisview

  • La solvo de STM32CubeWL3 MCU Package estas provizita en unu sola zip-pakaĵo, kun la strukturo montrita en Figuro 3.

STM32WL3x-Mikroregiloj-FIG-4

Atentu: La uzanto ne devas modifi la komponantojn files. La uzanto povas nur redakti la fontojn de \Projects. Por ĉiu tabulo, aro da ekzamples estas provizitaj per antaŭkonfiguritaj projektoj por la ilĉenoj EWARM, MDK-ARM kaj STM32CubeIDE.
Figuro 4 montras la projektostrukturon por la NUCLEO-WL33CCx-tabuloj.

STM32WL3x-Mikroregiloj-FIG-5

La eksamplesoj estas klasifikitaj laŭ la STM32CubeWL3-nivelo al kiu ili aplikas. Ili estas nomitaj jene:

  • Nivelo 0 ekzamples estas nomataj Ekzamples, Ekzamples_LL, kaj Examples_MIX. Ili uzas respektive HAL-ŝoforojn, LL-ŝoforojn, kaj miksaĵon de HAL kaj LL-ŝoforoj sen iu mezvarkomponento. Demonstro ekzampLes ankaŭ haveblas.
  • Nivelo 1 ekzamplesoj estas nomataj Aplikoj. Ili disponigas tipajn uzkazojn de ĉiu mezvarkomponento.

Ajna firmware-aplikaĵo por difinita tabulo povas esti rapide konstruita uzante la ŝablonajn projektojn disponeblajn en la dosierujoj Ŝablonoj kaj Ŝablonoj_LL.
Examples, Ekzamples_LL, kaj Examples_MIX havas la saman strukturon:

  • \Inc dosierujo enhavanta la tutan kaplinion files.
  • \Src dosierujo enhavanta la fontkodon.
  • \EWARM, \MDK-ARM, kaj \STM32CubeIDE dosierujoj enhavantaj la antaŭkonfiguritan projekton por ĉiu ilĉeno.
  • readme.md kaj readme.html priskribante la eksample konduto kaj bezonata medio por igi ĝin funkcii.

Komencu kun STM32CubeWL3

Kurante unua eksample
Ĉi tiu sekcio klarigas kiom simple estas ruli unuan eksample ene de STM32CubeWL3. Ĝi uzas kiel ilustraĵon la generacion de simpla LED baskulo funkcianta sur la NUCLEO-WL33CC1-tabulo:

  1. Elŝutu la STM32CubeWL3 MCU-Pakaĵon.
  2. Malfermu ĝin, aŭ rulu la instalilon se disponigite, en dosierujon de via elekto.
  3. Certiĝu ne modifi la pakaĵstrukturon montritan en Figuro 3. STM32CubeWL3 firmvarpakostrukturo. Notu, ke ankaŭ rekomendas kopii la pakaĵon ĉe loko proksima al la radika volumo (signifas C:\ST aŭ G:\Tests), ĉar iuj IDEoj renkontas problemojn kiam la vojo estas tro longa.

Kiel funkciigi HAL ekzample
Antaŭ ŝarĝi kaj kuri eksample, estas forte rekomendite legi la eksamplegu min file por iu specifa agordo.

  1. Foliumi al \Projektoj\NUCLEO-WL33CC\Ekzamples.
  2. Malfermu la dosierujojn \GPIO, poste \GPIO_EXTI.
  3. Malfermu la projekton per la preferata ilĉeno. Rapida superview pri kiel malfermi, konstrui kaj funkciigi eksample kun la subtenataj ilĉenoj estas donitaj sube.
  4. Rekonstruu ĉion files kaj ŝarĝu la bildon en la celmemoron.
  5. Kuru la eksample. Por pliaj detaloj, referu al la ekzamplegu min file.

Por malfermi, konstrui kaj funkciigi eksample kun ĉiu el la subtenataj ilĉenoj, sekvu la paŝojn sube:

  • EWARM:
    1. Sub la Eksamples dosierujo, malfermu la subdosierujon \EWARM.
    2. Lanĉu la laborspacon Project.eww (la nomo de laborspaco eble ŝanĝiĝos de unu ekzample al alia).
    3. Rekonstruu ĉion files: [Projekto]>[Rekonstruu ĉion].
    4. Ŝarĝu la projektbildon: [Projekto]>[Elpurigi].
    5. Rulu la programon: [Elpurigi]>[Iru (F5)].
  • MDK-ARM:
    1. Sub la Eksamples dosierujo, malfermu la subdosierujon \MDK-ARM.
    2. Malfermu la laborspacon Project.uvproj (la nomo de laborspaco eble ŝanĝiĝos de unu ekzample al alia).
    3. Rekonstruu ĉion files: [Projekto]> [Rekonstruu ĉiun celon files].
    4. Ŝarĝu la projektan bildon: [Elpurigi]>[Starti/Ĉesigi Sencimigan Sesion].
    5. Rulu la programon: [Elpurigi]>[Run (F5)].
  • STM32CubeIDE:
    1. Malfermu la ilĉenon STM32CubeIDE.
    2. Alklaku [File]>[Ŝanĝi Laborspacon]>[Aliaj] kaj foliumu al la STM32CubeIDE laborspaca dosierujo.
    3. Alklaku [File]>[Importu], elektu [Ĝenerale]>[Ekzistantaj Projektoj en Laborspacon], kaj poste alklaku [Sekva].
    4. Foliumi al la dosierujo de laborspaco STM32CubeIDE kaj elektu la projekton.
    5. Rekonstruu la tutan projekton files: Elektu la projekton en la fenestro de Projekto-Esploristo kaj alklaku la menuon [Projekto]>[Konstrui projekton].
    6. Rulu la programon: [Run]>[Elpurigi (F11)].

Disvolvante kutiman aplikaĵon

Uzante STM32CubeMX por evoluigi aŭ ĝisdatigi aplikaĵon

  • En la STM32Cube MCU-Pako, preskaŭ ĉiuj projektoj ekzamplesoj estas generitaj per la ilo STM32CubeMX por pravalorigi la sistemon, ekstercentrajn kaj mezvaraĵojn.

La rekta uzo de ekzistanta projekto ekzample de la ilo STM32CubeMX postulas STM32CubeMX 6.12.0 aŭ pli altan:

  • Post la instalado de STM32CubeMX, malfermu kaj se necese ĝisdatigu proponitan projekton.
    La plej simpla maniero malfermi ekzistantan projekton estas duoble alklaki la *.ioc file tiel ke STM32CubeMX aŭtomate malfermas la projekton kaj ĝian fonton files. STM32CubeMX generas la komencan fontkodon de tiaj projektoj.
  • La ĉefa aplikaĵa fontkodo estas enhavita de la komentoj "UZANTKODO BEGIN" kaj "USER CODE END". Se la ekstercentra elekto kaj agordoj estas modifitaj, STM32CubeMX ĝisdatigas la komencan parton de la kodo konservante la ĉefa aplikaĵa fontkodo.
  • Por evoluigi kutiman projekton kun STM32CubeMX, sekvu la paŝon post paŝo:
    1. Agordu la tutan postulatan enigitan programaron uzante pinout-konfliktan solvanton, horloĝ-arban agordan helpilon, elektrokonsuman kalkulilon kaj la ilon farantan MCU-periferian agordon (kiel ekzemple GPIO aŭ USART).
    2. Generu la komencan C-kodon surbaze de la elektita agordo. Ĉi tiu kodo estas preta por uzi en pluraj evolumedioj. La uzantkodo estas konservita ĉe la sekva kodgeneracio.
      Por pliaj informoj pri STM32CubeMX, konsultu la uzantmanlibron STM32CubeMX por STM32-agordo kaj inicialigo C-kodgenerado (UM1718).

Ŝoforaj aplikoj
HAL aplikaĵo
Ĉi tiu sekcio priskribas la paŝojn necesajn por krei kutiman HAL-aplikaĵon uzante STM32CubeWL3

  1. Krei projekton
    Por krei novan projekton, komencu ĉu de la Ŝablona projekto provizita por ĉiu tabulo sub \Projektoj\ \Ŝablonoj aŭ de iu ajn disponebla projekto sub \Projektoj\ \Ekzamples aŭ \Projektoj\ \Aplikoj (kie rilatas al la nomo de la estraro).
    La Ŝablona projekto disponigas malplenan ĉefan buklofunkcion. Tamen, estas bona deirpunkto por kompreni la agordojn de la projekto STM32CubeWL3. La ŝablono havas la jenajn karakterizaĵojn:
    • Ĝi enhavas la HAL fontkodon, CMSIS, kaj BSP-ŝoforojn, kiuj estas la minimuma aro de komponentoj postulataj por evoluigi kodon sur antaŭfiksita tabulo.
    • Ĝi enhavas la inkluditajn vojojn por ĉiuj firmware-komponentoj.
    • Ĝi difinas la subtenatajn STM32WL3x produktliniajn aparatojn, permesante al la CMSIS kaj HAL-ŝoforoj esti agordita ĝuste.
    • Ĝi provizas pretan uzeblan uzanton fileestas antaŭkonfiguritaj kiel montrite sube:
    • HAL pravigita kun la defaŭlta tempobazo kun la Arm®-kerno SysTick.
    • SysTick ISR efektivigita por HAL_Delay() celo.
    • Noto: Kiam vi kopias ekzistantan projekton al alia loko, certigu, ke ĉiuj inkluzivitaj vojoj estas ĝisdatigitaj.
  2. Agordu la firmware-komponentojn
    La HAL kaj mezvaraj komponantoj ofertas aron da konstrutempaj agordaj opcioj uzante makroojn #define deklaritajn en kaplinio file. Ŝablona agordo file estas disponigita ene de ĉiu komponento, kiu devas esti kopiita al la projekta dosierujo (kutime la agordo file estas nomita xxx_conf_template.h, la fragmento
    • ŝablono devas esti forigita kiam oni kopias ĝin al la projekta dosierujo). La agordo file provizas sufiĉajn informojn por kompreni la efikon de ĉiu agorda opcio. Pli detalaj informoj haveblas en la dokumentado provizita por ĉiu komponanto.
  3. Komencu la HAL-bibliotekon
    Post saltado al la ĉefa programo, la aplika kodo devas voki la HAL_Init() API por pravalorigi la HAL-bibliotekon, kiu plenumas la sekvajn taskojn:
    • Agordo de la antaŭpreno de fulmmemoro kaj SysTick-interrompa prioritato (per makrooj difinitaj en stm32 wl3x_hal_conf.h).
    • Agordo de la SysTick por generi interrompon ĉiun milisekundon ĉe la SysTick-interrompa prioritato TICK_INT_PRIO difinita en stm32wl3x_hal_conf.h.
    • Agordo de NVIC-grupprioritato al 0.
    • Voko de HAL_MspInit() revokfunkcio difinita en la stm32wl3x_hal_msp.c uzanto file fari tutmondajn malaltnivelajn hardvariniciagojn.
  4. Agordu la sisteman horloĝon
    La agordo de la sistema horloĝo estas farita per vokado de la du API-oj priskribitaj malsupre:
    • HAL_RCC_OscConfig(): ĉi tiu API agordas la internajn kaj eksterajn oscilatorojn. La uzanto elektas
      agordi unu aŭ ĉiujn oscilatorojn.
    • HAL_RCC_ClockConfig(): ĉi tiu API agordas la sisteman horloĝfonton, la latentecon de fulmmemoro kaj la antaŭskaliloj AHB kaj APB.
  5. Komencu la ekstercentran
    • Unue skribu la periferian komencan funkcion. Sekvu jene:
    • Ebligu la ekstercentran horloĝon.
    • Agordi la ekstercentrajn GPIOojn.
    • Agordu la DMA-kanalon kaj ebligu la DMA-interrompon (se necese).
    • Ebligu la ekstercentran interrompon (se necese).
    • Redaktu la stm32xxx_it.c por voki la postulatajn interrompajn prizorgantojn (periferiaj kaj DMA), se necese.
    • Skribu procezon kompletajn revokfunkciojn se ekstercentra interrompo aŭ DMA estas intencita esti uzata.
    • En la uzanto main.c file, pravigu la periferian tenilstrukturon tiam voku la periferian inicialigfunkcion por initialigi la periferian.
  6. Disvolvu aplikaĵon
    Ĉe ĉi tiu stage, la sistemo estas preta kaj uzanta aplika kodo disvolviĝo povas komenci.
    La HAL disponigas intuiciajn kaj uzeblajn APIojn por agordi la ekstercentrajn. Ĝi subtenas balotadon, interrompojn, kaj DMA-programadmodelon, por alĝustigi ajnajn aplikajn postulojn. Por pliaj detaloj pri kiel uzi ĉiun ekstercentran, raportu al la riĉa eksampla aro provizita en la STM32CubeWL3 MCU-Pako.

Atentu: En la defaŭlta HAL-efektivigo, la SysTick-tempigilo estas utiligita kiel tempbazo: ĝi generas interrompojn je regulaj tempintervaloj. Se HAL_Delay() estas vokita de la periferia ISR-procezo, certigu, ke la SysTick-interrompo havas pli altan prioritaton (cifere pli malalta) ol la periferia interrompo. Alie, la alvokanto ISR-procezo estas blokita. Funkcioj influantaj tempbazajn agordojn estas deklaritaj kiel __malfortaj por ebligi anstataŭi en kazo de aliaj efektivigoj en la uzanto. file (uzante ĝeneraluzeblan tempigilon, ekzample, aŭ alia tempofonto). Por pliaj detaloj, referu al la HAL_TimeBase ekzample.

LL-aplikaĵo
Ĉi tiu sekcio priskribas la paŝojn necesajn por krei kutiman LL-aplikaĵon uzante STM32CubeWL3.

  1. Krei projekton
    Por krei novan projekton, aŭ komencu de la projekto Templates_LL provizita por ĉiu tabulo sub \Projektoj\ \Ŝablonoj_LL aŭ de iu ajn disponebla projekto sub \Projektoj\ \Ekzamples_ LL ( rilatas al la nomo de la estraro, kiel NUCLEO-WL32CC33).
    La ŝablona projekto disponigas malplenan ĉefan buklofunkcion, kiu estas bona deirpunkto por kompreni la projektajn agordojn por STM32CubeWL3. La ĉefaj karakterizaĵoj de la ŝablono estas la jenaj:
    • Ĝi enhavas la fontkodojn de la LL kaj CMSIS-ŝoforoj, kiuj estas la minimuma aro de komponentoj necesaj por evoluigi la kodon sur antaŭfiksita tabulo.
    • Ĝi enhavas la inkluzivitajn vojojn por ĉiuj postulataj firmware-komponentoj.
    • Ĝi elektas la subtenatan produktlinian aparaton STM32WL3x kaj permesas la ĝustan agordon de la CMSIS kaj LL-ŝoforoj.
    • Ĝi provizas pretan uzeblan uzanton files kiuj estas antaŭkonfiguritaj jene:
    • main.h: LED kaj USER_BUTTON difina abstrakta tavolo.
    • main.c: Sistema horloĝkonfiguracio por maksimuma frekvenco.
  2. Port la LL ekzample:
    • Kopiu/gluu la dosierujon Templates_LL - por konservi la komencan fonton - aŭ rekte ĝisdatigi ekzistantan projekton Template s_LL.
    • Tiam, la portado konsistas ĉefe en anstataŭigo de Templates_LL files per la Eksamples_LL celita projekto.
    • Konservu ĉiujn tabulajn specifajn partojn. Por kialoj de klareco, tabulaj specifaj partoj estas markitaj per specifa tags:STM32WL3x-Mikroregiloj-FIG-6
    • Tiel, la ĉefaj portaj paŝoj estas la sekvaj:
    • Anstataŭigu la stm32wl3x_it.h file.
    • Anstataŭigu la stm32wl3x_it.c file.
    • Anstataŭigi la ĉefan.h file kaj ĝisdatigu ĝin: Konservu la LED- kaj uzantbutonan difinon de la LL-ŝablono sub SPECIFIKA KONFIGURO DE TABLARO tags.
    • Anstataŭigi la ĉefan.c file kaj ĝisdatigu ĝin:
    • Konservu la horloĝan agordon de la ŝablona funkcio SystemClock_Config() LL sub SPECIFIKA KONFIGURO DE TABLARO tags.
    • Depende de la LED-difino, anstataŭigu ĉiun LDx-okazaĵon per alia LDy disponebla en la file ĉefa.h.
    • Kun ĉi tiuj modifoj, la ekzample kuras sur la celita tabulo.

RF-aplikoj, manifestacioj, kaj ekzamples
Malsamaj specoj de RF-aplikoj, manifestacioj, kaj ekzamples estas haveblaj en la pako STM32CubeWL3.
Ili estas listigitaj en la du sekcioj malsupre.

Sub-GHz ekzamples kaj manifestacioj
Tiuj ekzamples montras la ĉefajn trajtojn de la MRSUBG kaj LPAWUR-radiaj periferioj. Tiuj ekzampili estas haveblaj sub:

  • Projektoj\NUCLEO-WL33CC\Ekzamples\MRSUBG
  • Projektoj\NUCLEO-WL33CC\Ekzamples\LPAWUR
  • Projektoj\NUCLEO-WL33CC\Demonstrations\MRSUBG
  • Projektoj\NUCLEO-WL33CC\Demonstrations\LPAWUR

Ĉiu eksampLe aŭ manifestacio ĝenerale konsistas el du programoj nomitaj Tx kaj Rx funkcianta kiel dissendilo kaj ricevilo, respektive:

Examples/MRSUBG

  • MRSUBG_802_15_4: efektivigo de la fizika tavolo difinita de la normo 802.15.4. Ĝi montras kiel agordi la radion por transdoni aŭ ricevi 802.15.4 pakaĵojn.
  • MRSUBG_BasicGeneric: Interŝanĝo de bazaj pakoj de STM32WL3x MR_SUBG.
  • MRSUBG_Chat: Simpla aplikaĵo, kiu montras kiel uzi Tx kaj Rx sur la sama aparato.
  • MRSUBG_DatabufferHandler: Ekzample kiu montras kiel interŝanĝi de Databuffer 0 kaj 1.
  • MRSUBG_Sequencer AutoAck: Ekzample kiu elsendas kaj ricevas pakaĵetonojn (ACKs) aŭtomate.
  • MRSUBG_WMBusSTD: interŝanĝo de WM-Bus mesaĝoj.
  • WakeupRadio: Eksample por testi la LPAWUR-radiaparafon.

Manifestacioj/MRSUBG

  • MRSUBG_RTC_Button_TX: Ĉi tiu ekzample montras kiel agordi la SoC en profund-halta reĝimo kaj agordi la MRSUBG por veki la SoC premante PB2 por sendi kadron aŭ post la RTC-tempigilo eksvalidiĝo.
  • MRSUBG_Sequencer_Sniff: Ĉi tiu ekzample montras kiel agordi la MRSUBG-sekvencilon por funkcii en snufa reĝimo. Ĉi tiu ekzample pruvas la ricevilan flankon kaj postulas alian aparaton kiel dissendilo.
  • MRSUBG_Timer: La aplikaĵo planas plurajn okazojn de MRSUBG-tempigilo (kun aŭtomate ŝargi) kun malsamaj tempintervaloj.
  • MRSUBG_WakeupRadio_Tx: Ĉi tiu ekzample klarigas kiel agordi la SoC en profunda halta reĝimo kaj agordi la MRSUBG por veki la SoC premante PB2 por sendi kadron. Ĉi tiu ekzample montras la dissendilan flankon kaj postulas alian aparaton kiel LPAWUR-ricevilon. La ricevilo ekzample troviĝas sub la dosierujo NUCLEO-WL33CC\Demonstrations\LPAWUR\LPAWUR_WakeupRadio_Rx.

Manifestacioj/LPAWUR

  • LPAWUR_WakeupRadio_Rx: Ĉi tiu ekzample klarigas kiel agordi la SoC en profund-halta reĝimo kaj agordi la LPAWUR por veki la SoC kiam kadro alvenas kaj estas ĝuste ricevita. Ĉi tiu ekzample pruvas la ricevilan flankon kaj postulas alian aparaton kiel dissendilo. La dissendilo ekzample troviĝas sub la dosierujo NUCLEO-WL33CC\Demonstrations\MRSUBG\MRSUBG_WakeupRadio_Tx.

Apliko Sigfox™
Ĉi tiuj aplikaĵoj montras kiel efektivigi Sigfox™-scenaron kaj uzi la disponeblajn Sigfox™-APIojn. Ili estas disponeblaj en la projekta vojo Projektoj\NUCLEO-WL33CC\Aplikoj\Sigfox\:

  • Sigfox_CLI: Ĉi tiu aplikaĵo montras kiel uzi komandlinian interfacon (CLI) por sendi komandojn, kiuj uzas la Sigfox™-protokolon por sendi mesaĝojn kaj fari antaŭcertigajn testojn.
  • Sigfox_PushButton: Ĉi tiu aplikaĵo permesas la taksadon de la radiokapabloj de la STM32WL33xx Sigfox™. Premante PB1 transdonas provan Sigfox™-kadron.

Historio de revizioj

Tabelo 3. Dokumenta reviziohistorio

Dato Revizio Ŝanĝoj
29-mar-2024 1 Komenca eldono.
30-okt-2024 2 Plena integriĝo de STM32CubeWL3 en STM32Cube. Ĝisdatigita:

•         Enkonduko

•         Sekcio 2: STM32CubeWL3 ĉefaj trajtoj

•         Sekcio 3.2.1: Mezvaraj komponantoj

•         Sekcio 4: STM32CubeWL3 firmvarpakaĵo finiĝisview

•         Sekcio 5.1: Kurado de unua ekzample

•         Sekcio 5.3: RF-aplikoj, pruvoj kaj ekzamples

Aldonita:

•         Sekcio 5.1.1: Kiel ruli HAL ekzample

•         Sekcio 5.2.1: Uzado de STM32CubeMX por disvolvi aŭ ĝisdatigi aplikaĵon

• Sekcio 6.4: Ĉu ekzistas iu ŝablonprojekto por MRSUBG/LPAWUR ekstercentra ekzamples?

•         Sekcio 6.5: Kiel STM32CubeMX povas generi kodon bazitan sur enigita programaro?

Forigita:

•         Komputilaj iloj, inkluzive de Navigilo, STM32WL3 GUI, kaj MR-SUBG Sequencer GUI

•         Kiel WiSE-Studio IOMapper povas generi kodon bazitan sur enigita programaro?

•         Ĉu Navigator permesas aliron al programarpakaĵaj rimedoj?

22-jan-2025 3 Pligrandigis la gamon de aplikeblaj aparatoj al mikroregiloj STM32WL30xx kaj STM32WL31xx en Tabelo 1. Makrooj por produktserio STM32WL3x.

GRAVA AVIZO – LEGU ATENTE

  • STMicroelectronics NV kaj ĝiaj filioj ("ST") rezervas la rajton fari ŝanĝojn, korektojn, plibonigojn, modifojn kaj plibonigojn al ST-produktoj kaj/aŭ al ĉi tiu dokumento iam ajn sen avizo. Aĉetantoj devas akiri la plej novajn rilatajn informojn pri ST-produktoj antaŭ ol fari mendojn. ST-produktoj estas venditaj laŭ la vendkondiĉoj de ST en la tempo de mendo agnosko.
  • Aĉetantoj respondecas nur pri la elekto, elekto kaj uzo de ST-produktoj kaj ST supozas neniun respondecon pri aplika helpo aŭ la dezajno de produktoj de aĉetantoj.
  • Neniu licenco, esprima aŭ implicita, al iu ajn intelekta proprieta rajto estas donita de ST ĉi tie.
  • Revendo de ST-produktoj kun dispozicioj malsamaj ol la informoj ĉi tie prezentitaj nuligos ajnan garantion donitan de ST por tia produkto.
  • ST kaj la ST-emblemo estas varmarkoj de ST. Por pliaj informoj pri ST-varmarkoj, referu al www.st.com/trademarks. Ĉiuj aliaj produktaj aŭ servonomoj estas la posedaĵo de siaj respektivaj posedantoj.
  • Informoj en ĉi tiu dokumento anstataŭas kaj anstataŭigas informojn antaŭe provizitajn en iuj antaŭaj versioj de ĉi tiu dokumento.
  • © 2025 STMicroelectronics - Ĉiuj rajtoj rezervitaj

Oftaj Demandoj

Kiam mi uzu HAL anstataŭ LL-ŝoforojn?

HAL-ŝoforoj ofertas altnivelajn kaj funkcio-orientitajn API-ojn, kun alta nivelo de porteblo. Produkta aŭ ekstercentra komplekseco estas kaŝita por finaj uzantoj. LL-ŝoforoj ofertas malalttavolajn registronivelajn API-ojn kun pli bona optimumigo sed malpli portebla. Ili postulas profundan scion pri produkto aŭ IP-specifoj.

Kiel LL-komencigaj API-oj estas ebligitaj?

La difino de LL-komencigaj APIoj kaj rilataj rimedoj strukturoj literaloj kaj prototipoj estas kondiĉigita de la USE_FULL_LL_DRIVER kompilŝaltilo. Por povi uzi LL-komencigajn API-ojn, aldonu ĉi tiun ŝaltilon en la antaŭprocesoro de la ilĉena kompililo.

Ĉu ekzistas iu ŝablona projekto por MRSUBG/LPAWUR ekstercentra ekzamples?

Por krei novan MRSUBG aŭ LPAWUR ekzample projekto, ĉu komenci de la skeleta projekto provizita sub ProjektojNUCLEO- 33CC Examples MRSUBG aŭ ProjectsNUCLEO-WL33CC Ekzamples LPAWUR aŭ de iu ajn disponebla projekto sub ĉi tiuj samaj dosierujoj.

Kiel STM32CubeMX povas generi kodon bazitan sur enigita programaro?

STM32CubeMX havas enkonstruitan scion pri STM32-mikroregiloj, inkluzive de iliaj ekstercentraj kaj programaro, kio permesas al ĝi disponigi grafikan reprezenton al la uzanto kaj generi .h aŭ .c. files bazitaj sur la agordo de la uzanto.

Dokumentoj/Rimedoj

ST STM32WL3x Mikroregiloj [pdf] Uzanto-manlibro
STM32WL3x Mikroregiloj, STM32WL3x, Mikroregiloj

Referencoj

Lasu komenton

Via retadreso ne estos publikigita. Bezonataj kampoj estas markitaj *