STM32WL3x-loigo

STM32WL3x Software Package

STM32WL3x-Software-Package -PRODCUCT

Zvinotsanangurwa

  • Zita reChigadzirwa: STM32CubeWL3 software package
  • Kugarisana: STM32WL3x microcontrollers
  • Main Features:
    • Low-layer (LL) uye hardware abstraction layer (HAL) APIs
    • Sigfox TM, FatFS, uye FreeRTOSTM kernel middleware zvikamu
    • Zvikumbiro nemienzaniso

Mirayiridzo Yekushandiswa Kwechigadzirwa

Kutanga
Kutanga kushandisa STM32CubeWL3 software package, tevera matanho aya:

  1. Dhawunirodha software package kubva kune mukuru website.
  2. Isa iyo inodiwa budiriro nharaunda (semuenzaniso, STM32CubeIDE, EWARM, MDK-ARM).
  3. Tarisa kune examples uye zvikumbiro zvakapihwa kutungamira.

STM32CubeWL3 Architecture Pamusoroview
Iyo STM32CubeWL3 software package inovakwa kutenderedza matatu makuru mazinga

  • Chikamu 0: Hardware abstraction layer (HAL) uye BSP vatyairi.
  • Chikamu 1: Zvishandiso, maraibhurari, uye protocol-yakavakirwa zvikamu.

Mibvunzo Inowanzo bvunzwa (FAQ)

Mubvunzo: Ndezvipi zvakakosha zve STM32CubeWL3 software package?
A: Zvinhu zvikuru zvinosanganisira pasi-layer uye HAL APIs, middleware components seSigfox TM, FatFS, FreeRTOSTM kernel, kushandiswa, uye zviratidzo.

Nhanganyaya

STM32Cube ndeye STMicroelectronics yekutanga danho rekuvandudza kugadzirwa kwemugadziri zvakanyanya nekudzikisira kuedza kwekusimudzira, nguva, uye mutengo. STM32Cube inovhara iyo yese STM32 portfolio.

STM32Cube inosanganisira:

  • Seti yevashandisi-inoshamwaridzika software yekuvandudza maturusi ekuvhara budiriro yeprojekiti kubva pakubata kusvika pakuitika, pakati] idzo dzinoti:
    • STM32CubeMX, graphical software yekumisikidza chishandiso chinobvumira otomatiki chizvarwa cheC yekutanga kodhi uchishandisa graphical wizards.
    • STM32CubeIDE, yese-mu-imwe yekuvandudza chishandiso chine peripheral kumisikidzwa, kodhi yekugadzira, kodhi kuunganidzwa, uye debug maficha.
    • STM32CubeCLT, yese-mune-imwe yekuraira-mutsara mutsara wekuvandudza kodhi ine kodhi yekubatanidza, bhodhi kuronga, uye debug maficha.
    • STM32CubeProgrammer (STM32CubeProg), chishandiso chekugadzira chinowanikwa mune graphical uye yekuraira-mutsara shanduro.
    • STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), maturusi ekutarisa ane simba ekugadzirisa maitiro uye kuita kweSTM32 application munguva chaiyo.
  • STM32Cube MCU uye MPU Packages, yakazara yakadzamirirwa-software mapuratifomu akananga kune yega yega microcontroller uye microprocessor akatevedzana (senge STM32CubeWL3 ye STM32WL3x mutsara wechigadzirwa), ayo anosanganisira:
    • STM32Cube hardware abstraction layer (HAL), kuve nechokwadi chekuwedzera kutakurika pane iyo STM32 portfolio.
    • STM32Cube yakaderera-layer APIs, kuve nechokwadi chekushanda kwakanyanya uye tsoka ine dhigirii repamusoro rekutonga kwemushandisi pamusoro] Hardware.
    • Iyo inowirirana seti yepakati zvinhu zvepakati senge FreeRTOS ™ kernel, FatFS, uye Sigfox™.
    • Yese yakamisikidzwa software zvishandiso zvine yakazara seti yeperipheral uye inoshanda examples
  • STM32Cube Kuwedzera Mapakeji, ane akamisikidzwa masoftware anoenderana nekushanda kweSTM32Cube MCU uye MPU Packages ane:
    • Middleware extensions uye applicative layers
    • Exampinomhanya pane mamwe mabhodhi ekuvandudza STMicroelectronics

Iri bhuku remushandisi rinotsanangura maitiro ekutanga neiyo STM32CubeWL3 MCU Package.
Chikamu chechipiri chinotsanangura zvinhu zvikuru zveSTM2CubeWL32 uye Chikamu 3 chinopa pamusoroview yekuvaka kwayo uye yeMCU Package chimiro.

General information

STM32CubeWL3 inoshandisa sub-GHz kuratidzira maapplication, kusanganisira Sigfox™ mabhinari, paSTM32WL3x chigadzirwa mutsara microcontrollers zvichibva paArm® Cortex®‑M0+ processor.
Iyo STM32WL3x microcontrollers yakanyudza STMicroelectronics's state-of-the-art sub-GHz inoenderana neRF radio peripheral, yakagadziridzwa kushandiswa kwesimba-shoma-simba uye kuita kwakanaka kweredhiyo, kwehupenyu husingaenzaniswi hwebhatiri.
Cherechedza: Arm chiratidzo chakanyoreswa cheArm Limited (kana masangano ayo) muUS uye/kana kumwewo.

STM32CubeWL3 maficha makuru

  • Iyo STM32CubeWL3 MCU Package inomhanya paSTM32 32-bit microcontrollers yakavakirwa paArm® Cortex®‑M0+ processor. Inounganidza, mupakeji imwe chete, ese generic akamisikidzwa esoftware zvikamu zvinodiwa kugadzira application yeSTM32WL3x chigadzirwa mutsara microcontrollers.
  • Iyo package inosanganisira yakaderera-layer (LL) uye hardware abstraction layer (HAL) APIs inovhara iyo microcontroller Hardware, pamwe neyakakura seti ye ex.ampLes kumhanya pamabhodhi eSTMicroelectronics. Iyo HAL neLL APIs inowanikwa mune yakavhurika-sosi BSD rezenisi kuitira nyore mushandisi. Inosanganisirawo Sigfox ™, FatFS, uye FreeRTOS ™ kernel middleware zvikamu.
  • Iyo STM32CubeWL3 MCU Package inopawo akati wandei maapplication uye kuratidzira kuita ese ayo epakati zvinhu zvikamu.
  • Iyo STM32CubeWL3 MCU Package chikamu dhizaini inoratidzwa mumufananidzo 1.

Mufananidzo 1. STM32CubeWL3 MCU Package components 

STM32WL3x-Software-Package (2)

STM32CubeWL3 zvivakwa pamusoroview

Iyo STM32CubeWL3 MCU Package mhinduro yakavakirwa kumativi matatu akazvimirira mazinga anopindirana zviri nyore sekutsanangurwa kwazvino mumufananidzo 2. STM32WL3x-Software-Package (3)Level 0
Iyi nhanho yakakamurwa kuita matatu sublayers:

  • Board support package (BSP).
  • Hardware abstraction layer (HAL):
    • HAL peripheral drivers
    • Vatyairi vepasi-pasi
  • Basic peripheral kushandiswa examples.

Board support package (BSP)
Iyi dhizaini inopa seti ye APIs inoenderana nemidziyo yehardware mumabhodhi ehardware (senge maLED, mabhatani, uye COM madhiraivha). Inoumbwa nezvikamu zviviri:

  • Chikamu:
    Uyu ndiye mutyairi wehukama kune wekunze mudziyo pabhodhi uye kwete kune STM32. Iyo chikamu chekutyaira chinopa chaiwo maAPIs kune BSP mutyairi ekunze zvikamu uye inogona kutakurika pane chero imwe bhodhi.
  • BSP mutyairi:

Inobvumira kubatanidza madhiraivha echikamu kune imwe bhodhi uye inopa seti yemushandisi-ane hushamwari APIs. Iyo API yekupa zita mutemo ndeye BSP_FUNCT_Action().
Example: BSP_LED_Init(), BSP_LED_On()
BSP yakavakirwa pane modular architecture inobvumira kutakura nyore pane chero Hardware nekungoita yakaderera-chikamu maitiro.

Hardware abstraction layer (HAL) uye yakaderera-layer (LL)
Iyo STM32CubeWL3 HAL neLL inoenderana uye inovhara zvakasiyana-siyana zvekushandisa zvinodiwa:

  • Vatyairi veHAL vanopa yakakwirira-level basa-yakatarisana inotakurika APIs. Ivo vanovanza iyo MCU uye peripheral kuomarara kune yekupedzisira-mushandisi.
    Vatyairi veHAL vanopa generic multi-instance feature-oriented APIs, iyo inorerutsa kushandiswa kwekushandiswa kwemushandisi nekupa maitiro akagadzirira-kushandisa. For example, yezvipingamupinyi zvekutaurirana (I2C, UART, nezvimwe), inopa APIs inobvumira kutanga nekugadzirisa peripheral, kutarisira kuendeswa kwedata kunobva pakuvhota, kukanganisa, kana DMA maitiro, uye kubata zvikanganiso zvekukurukurirana zvingamuka panguva yekukurukurirana. Iyo HAL mutyairi APIs yakakamurwa kuita mapoka maviri:
  1. Generic APIs, iyo inopa zvakajairika uye generic mabasa kune ese STM32 akatevedzana mamicrocontrollers.
  2. Extension APIs, iyo inopa chaiwo uye akagadziridzwa mabasa eimwe mhuri kana imwe nhamba yechikamu.
  • Iyo yakaderera-layer APIs inopa yakaderera-level APIs padanho rekunyoresa, ine zvirinani optimization asi kushoma kutakurika. Vanoda ruzivo rwakadzama rweMCU uye peripheral specifications.
    Iwo LL madhiraivha akagadzirirwa kupa inokurumidza kureruka nyanzvi-yakatarisana layer iri padyo nehardware pane HAL. Kupesana neHAL, LL APIs haina kupihwa kune peripherals uko optimized access isiri chinhu chakakosha, kana kune iyo inoda inorema software kumisikidzwa kana yakaoma yepamusoro-level stack.

Iwo LL drivers anoratidza:

  • Seti yemabasa ekutanga peripheral main features maererano nemaparamendi anotsanangurwa mune data zvimiro.
  • Seti yemabasa ekuzadza yekutanga data zvimiro neiyo reset kukosha inoenderana nemunda wega wega.
  • Basa re peripheral de-initialization (peripheral registers yakadzoserwa kune yavo default values).
  • Seti ye inline mabasa ekuwana yakananga uye atomic rejista yekuwana.
  • Kuzvimiririra kuzere kubva kuHAL uye kugona kushandiswa mune yakamira modhi (isina HAL vatyairi).
  • Kufukidzwa kwakazara kweanotsigira peripheral features.

Basic peripheral kushandiswa examples
Iyi layer inovharira exampyakavakirwa pamusoro peiyo STM32 peripherals uchishandisa chete HAL uye BSP zviwanikwa.
Kuratidzira exampLes dziripowo kuratidza zvimwe zvakaoma example mascenario ane chaiwo maperipherals, akadai seMRSUBG uye LPAWUR.

Level 1
Iyi nhanho yakakamurwa kuita maviri sublayers:

  • Middleware components
  • Exampzvishoma zvichibva pane zviri pakati pezvinhu

Middleware components
Iyo yepakati seti yemaraibhurari anofukidza iyo FreeRTOS ™ kernel, FatFS, uye Sigfox™ protocol raibhurari. Kudyidzana kwakatwasuka pakati pezvikamu zveiyi layer kunoitwa nekudaidza maAPI akaiswa.
Kudyidzana kwakasimba nevatyairi vepasi-layer kunoitwa kuburikidza nekufona kwakananga uye static macros inoshandiswa muraibhurari system call interface.
Iwo makuru maficha ega ega middleware chikamu ndeaya anotevera:

  • FreeRTOS ™ kernel: inoshandisa chaiyo-nguva inoshanda sisitimu (RTOS), yakagadzirirwa yakamisikidzwa masisitimu.
  • Sigfox™: inoshandisa Sigfox ™ protocol raibhurari inoenderana neSigfox™ protocol network uye inosanganisira iyo RF test protocol raibhurari yekuyedza kupokana neRF Sigfox™ zvishandiso.
  • FatFS: inoshandisa iyo generic FAT file system module.

Exampzvishoma zvichibva pane zviri pakati pezvinhu
Chimwe nechimwe chepakati chepakati chinouya neimwe kana kupfuura examples, inonziwo maapplication, inoratidza mashandisirwo ayo. Kubatanidzwa exampLes iyo inoshandisa akati wandei middleware zvikamu zvinopihwa zvakare.

STM32CubeWL3 firmware package pamusoroview

Inotsigirwa STM32WL3x zvishandiso uye hardware
STM32Cube inopa inotakurika hardware abstraction layer (HAL) yakavakirwa kutenderedza generic architecture. Iyo inobvumira iyo yekuvaka-pamusoro pematanho musimboti, sekushandisa iyo yepakatiware layer kuita mabasa avo pasina kuziva, zvakadzama, izvo MCU inoshandiswa. Izvi zvinovandudza raibhurari kodhi reusability uye inovimbisa kutakurika nyore kune mamwe maturusi.

  • Pamusoro pezvo, iine dhizaini yekuvaka, STM32CubeWL3 inopa rutsigiro rwakazara kune ese STM32WL3x mutsara wechigadzirwa.
  • Mushandisi anofanira kutsanangura chete macro chaiwo mu stm32wl3x.h.

Tafura 1 inoratidza iyo macro kutsanangura zvichienderana ne STM32WL3x chigadzirwa mutsara mudziyo unoshandiswa. Iyi macro inofanirawo kutsanangurwa mune compiler preprocessor.
Tafura 1. Macros ye STM32WL3x chigadzirwa mutsara

Macro inotsanangurwa mukati stm32wl3x.h STM32WL3x chigadzirwa mutsara zvishandiso
stm32wl33 STM32WL33xx microcontrollers

STM32CubeWL3 inoratidzira yakapfuma seti ye exampLes uye maapplication pamatanho ese, zvichiita kuti zvive nyore kunzwisisa uye kushandisa chero HAL mutyairi kana middleware zvikamu. Izvi examples inomhanya pamabhodhi eSTMicroelectronics akanyorwa muTable 2.

Board STM32WL3x bhodhi inotsigirwa zvishandiso
NUCLEO-WL33CC1 STM32WL33CC
NUCLEO-WL33CC2 STM32WL33CC

Iyo STM32CubeWL3 MCU Package inogona kumhanya pane chero inoenderana hardware. Vashandisi vanongovandudza madhiraivha eBSP kuti atore iyo yakapihwa exampLes pamabhodhi avo, kana aya aine maitiro akafanana ehardware (senge maLED kana mabhatani).

Firmware package yaperaview
Iyo STM32CubeWL3 MCU Package mhinduro inopihwa mune imwechete zip package ine chimiro chinoratidzwa mumufananidzo 3.
Mufananidzo 3. STM32CubeWL3 firmware package structure

STM32WL3x-Software-Package (4)

Yambiro:

Mushandisi haafaniri kushandura zvikamu files. Mushandisi anogona chete kugadzirisa iyo \Projects masosi.
Pabhodhi rimwe nerimwe, seti ye exampLes inopihwa preconfigured mapurojekiti eEWARM, MDK-ARM, uye STM32CubeIDE toolchains.
Mufananidzo 4 unoratidza chimiro chepurojekiti yeNUCLEO-WL33CCx mabhodhi. STM32WL3x-Software-Package (5)

The exampLes akaiswa muchikamu zvichienderana neiyo STM32CubeWL3 nhanho yavanoshandisa kwairi. Vanopihwa mazita anotevera:

  • Level 0 exampLes anonzi Eksampse, Eksampzvishoma_LL, uye Eksampzvishoma_MIX. Ivo vanoshandisa zvakateerana HAL vatyairi, LL vatyairi, uye musanganiswa weHAL neLL vatyairi vasina chero chikamu chepakati. Kuratidzira exampmas anowanikwawo.
  • Level 1 exampmamwe anonzi maApplications. Ivo vanopa akajairwa ekushandisa makesi ega ega chikamu chepakati.

Chero firmware application yebhodhi rakapihwa inogona kukurumidza kuvakwa uchishandisa matemplate mapurojekiti anowanikwa muTempl ates uye Templates_LL madhairekitori.

Exampse, Eksampzvishoma_LL, uye Eksampless_MIX vane chimiro chakafanana:

  • \Inc folda ine ese musoro files.
  • \ Src folda ine iyo kodhi kodhi.
  • \EWARM, \ MDK-ARM, uye \ STM32CubeIDE maforodha ane preconfigured purojekiti yega yega toolchain.
  • readme.md uye readme.html inotsanangura example maitiro uye inodiwa nharaunda kuti iite kushanda.

Kutanga ne STM32CubeWL3

Kumhanya wekutanga example
Ichi chikamu chinotsanangura kuti zviri nyore sei kumhanya wekutanga exampuye mukati me STM32CubeWL3. Inoshandisa semuenzaniso chizvarwa cheiyo yakapusa LED toggle inomhanya paNUCLEO-WL33CC1 board:

  1. Dhawunirodha iyo STM32CubeWL3 MCU Package.
  2. Unzip iyo, kana mhanyisa iyo yekuisa kana yakapihwa, mudhairekitori resarudzo yako.
  3. Iva nechokwadi chekusagadzirisa chimiro chepakiti chinoratidzwa mumufananidzo 3. STM32CubeWL3 firmware package structure. Ziva kuti zvinokurudzirwa kukopa pasuru panzvimbo iri padhuze nemudzi wevhoriyamu (zvinoreva C:\ST kana G:\Tests), sezvo mamwe maIDE anosangana nematambudziko kana nzira yanyanya kureba.

Maitiro ekumhanyisa HAL example
Ndisati ndatunda nekumhanyisa example, inokurudzirwa zvakanyanya kuverenga iyo yekareample readme file kune chero chaiyo configuration.

  1. Bhurawuza ku \Projects\NUCLEO-WL33CC\Examples.
  2. Vhura iyo \GPIO, uye \GPIO_EXTI maforodha.
  3. Vhura iyo purojekiti neinoda toolchain. Kurumidza pamusoroview panzira yekuvhura, kuvaka, uye nekumhanyisa example ine maturusi anotsigirwa anopihwa pazasi.
  4. Vakazve zvese files uye kurodha chifananidzo mundangariro yechinangwa.
  5. Mhanya example. Kuti uwane rumwe ruzivo, tarisa kune example readme file.

Kuvhura, kuvaka, uye kumhanya example neimwe yezvishandiso zvinotsigirwa, tevera matanho ari pasi apa:

  • EWARM:
  1. Pasi peExamples folda, vhura \EWARM subfolder.
  2. Tangisa iyo Project.eww workspace (zita renzvimbo yebasa rinogona kuchinja kubva kune imwe example kune mumwe).
  3. Vakazve zvese files: [Chirongwa]>[Vakazve zvese].
  4. Rodha mufananidzo weprojekiti: [Chirongwa]> [Debug].
  5. Mhanya chirongwa: [Debug]> [Enda (F5)].
  • MDK-ARM:
  1. Pasi peExamples folda, vhura iyo \ MDK-ARM subfolder.
  2. Vhura iyo Project.uvproj workspace (zita renzvimbo yebasa rinogona kuchinja kubva kune imwe example kune mumwe).
  3. Vakazve zvese files: [Chirongwa]>[Vakazve zvese zvinonangwa files].
  4. Rodha mufananidzo weprojekiti: [Debug]> [Tanga/Misa Debug Session].
  5. Mhanya chirongwa: [Debug]> [Mhanya (F5)].
  • STM32CubeIDE:
  1. Vhura iyo STM32CubeIDE toolchain.
  2. Dzvanya pa [File]>[Chinja Nzvimbo Yekushanda]>[Zvimwe] uye bhurawuza kune STM32CubeIDE nzvimbo yebasa dhairekitori.
  3. Dzvanya pa [File]>[Import], sarudza [Zvakangoita]>[Zvirongwa zviripo munzvimbo yeKushanda], wobva wadzvanya [Next].
  4. Bhurawuza kune STM32CubeIDE yenzvimbo yebasa dhairekitori uye sarudza purojekiti.
  5. Vakazve mapurojekiti ese files: Sarudza purojekiti muProjekti Explorer hwindo wobva wadzvanya pa
    [Chirongwa]>[Vaka chirongwa] menyu.
  6.  Mhanya chirongwa: [Mhanya]> [Debug (F11)].

Kugadzira a custom application

Uchishandisa STM32CubeMX kugadzira kana kugadzirisa application
Mu STM32Cube MCU Package, ingangoita ese mapurojekiti exampLes inogadzirwa neiyo STM32CubeMX chishandiso chekutanga sisitimu, peripherals, uye middleware.

Iko kushandiswa kwakananga kweiyo iripo purojekiti example kubva ku STM32CubeMX chishandiso chinoda STM32CubeMX 6.12.0 kana kupfuura:

  • Mushure mekuiswa kweSTM32CubeMX, vhura uye kana zvichidikanwa gadziridza chirongwa chakarongwa.
    Nzira iri nyore yekuvhura purojekiti iripo ndeye kudzvanya kaviri pa *.ioc file kuitira kuti STM32CubeMX ivhure otomatiki purojekiti uye kwainotangira files. STM32CubeMX inogadzira iyo yekutanga sosi kodhi yemapurojekiti akadaro.
  • Iyo huru yekushandisa sosi kodhi inowanikwa nezvakataurwa "USER CODE BEGIN" uye "USER CODE END". Kana iyo yekutenderera kusarudzwa uye zvigadziriso zvakagadziridzwa, STM32CubeMX inogadziridza iyo yekutanga chikamu chekodhi ichichengetedza iyo huru yekushandisa sosi kodhi.

Kugadzira chirongwa chetsika neSTM32CubeMX, tevera nhanho-ne-nhanho maitiro:

  1. Gadzirisa ese anodiwa akamisikidzwa software uchishandisa pinout-conflict solver, wachi-muti wekumisikidza mubatsiri, simba rekushandisa calculator, uye utility kuita MCU peripheral configuration (senge GPIO kana USART).
  2. Gadzira iyo yekutanga C kodhi inoenderana nekugadziriswa kwakasarudzwa. Iyi kodhi yakagadzirira kushandiswa mukati menzvimbo dzinoverengeka dzebudiriro. Kodhi yemushandisi inochengetwa pane inotevera kodhi chizvarwa.
    Kuti uwane rumwe ruzivo nezve STM32CubeMX, tarisa kune mushandisi bhuku STM32CubeMX yeSTM32 kumisikidza uye kutanga C kodhi chizvarwa (UM1718).

Zvikumbiro zvemutyairi

HAL application
Ichi chikamu chinotsanangura matanho anodiwa kugadzira tsika yeHAL application uchishandisa STM32CubeWL3:

  1. Gadzira chirongwa
    Kuti ugadzire purojekiti nyowani, tanga kubva kuTemplate project yakapihwa kune yega bhodhi pasi pe \Projects\<STM32xxx_yyy>\Templates kana kubva kune chero chirongwa chiripo pasi pe\Projects\ \Eksampl es kana \Projects\ \Applications (kupi zvinoreva zita rebhodhi). Iyo Template purojekiti inopa isina chinhu chikuru loop basa. Nekudaro, inzvimbo yakanaka yekutanga kunzwisisa iyo STM32CubeWL32 mapurojekiti epurojekiti. Iyo template ine zvinotevera maitiro:
    • Iyo ine HAL sosi kodhi, CMSIS, uye BSP madhiraivha, ayo ari mashoma seti yezvikamu zvinodiwa kugadzira kodhi pane yakapihwa bhodhi.
    • Iine nzira dzakabatanidzwa dzezvinhu zvose zve firmware.
    • Iyo inotsanangura inotsigirwa STM32WL3x michina yemutsetse wezvigadzirwa, ichibvumira CMSIS neHAL madhiraivha kuti agadziriswe nemazvo.
    • Inopa mushandisi akagadzirira kushandisa files preconfigured sezvinoratidzwa pazasi:
    • HAL yakatanga neyakagadzika nguva base neArm® musimboti SysTick.
    • SysTick ISR yakashandisirwa HAL_Delay () chinangwa.
      Cherechedza: Paunenge uchikopa purojekiti iripo kune imwe nzvimbo, ita shuwa kuti nzira dzese dzakasanganisirwa dzakagadziridzwa.
  2. Gadzirisa zvikamu zve firmware
    Iyo HAL uye yepakati zvinhu zvinopa seti yekuvaka-nguva yekumisikidza sarudzo uchishandisa macros #define yakaziviswa mumusoro. file. A template configuration file inopihwa mukati mechikamu chega chega, icho chinofanira kukopwa kune purojekiti folda (kazhinji iyo inogadziriswa file yakanzi xxx_conf_template.h, chimedu _template chinoda kubviswa paunenge uchichikopa kufolda yeprojekiti). The configuration file inopa ruzivo rwakakwana kuti unzwisise kukanganisa kwesarudzo yega yega yekumisikidza. Ruzivo rwakadzama runowanikwa mune zvinyorwa zvakapihwa kune chimwe nechimwe chikamu.
  3. Tanga raibhurari yeHAL
    Mushure mekusvetukira kuchirongwa chikuru, kodhi yekushandisa inofanirwa kufonera HAL_Init() API kuti itange HAL raibhurari, iyo inoita zvinotevera mabasa:
    • Kugadziridzwa kweiyo flash memory prefetch uye SysTick inokanganisa kukosha (kuburikidza nemamacros anotsanangurwa mu stm3 2wl3x_hal_conf.h).
    •  Magadzirirwo eSysTick kuti aburitse millisecond yega yega paSysTick kukanganisa zvakakosha TICK_INT_PRIO inotsanangurwa mu stm32wl3x_hal_conf.h.
    • Kugadzika kweNVIC boka rekutanga ku0.
    • Kufona kweHAL_MspInit() callback basa rinotsanangurwa mu stm32wl3x_hal_msp.c mushandisi file kuita pasi rose-level hardware initializations.
  4. Gadzirisa wachi yehurongwa
    Iyo sisitimu yewachi kumisikidzwa inoitwa nekudaidza maviri maAPI anotsanangurwa pazasi:
    • HAL_RCC_OscConfig(): API iyi inogadzirisa zvemukati nekunze oscillator. Mushandisi anosarudza kugadzirisa imwe kana ese oscillator.
    • HAL_RCC_ClockConfig(): API iyi inogadzirisa system wachi sosi, flash memory latency, uye AHB neAPB prescaler.
  5. Tanga peripheral
    •  Kutanga nyora peripheral initialization function. Enderera sezvinotevera:
    • Gonesa wachi yeperipheral.
    • Gadzirisa peripheral GPIOs.
    • Gadzirisa iyo DMA chiteshi uye gonesa iyo DMA kukanganisa (kana zvichidikanwa).
    • Gonesa kukanganisa kweperipheral (kana zvichidikanwa).
    • Rongedza iyo stm32xxx_it.c kufonera vanodimburira vanodiwa (peripheral neDMA), kana zvichidikanwa.
    •  Nyora maitiro akazara ekufona kumashure kana peripheral yakanganisa kana DMA ichida kushandiswa.
    •  Mushandisi mukuru.c file, tanga iyo peripheral handle structure wobva wadaidza peripheral initialization function kuti utange peripheral.
  6. Gadzira application
    Panguva iyi stage, iyo sisitimu yakagadzirira uye mushandisi application kodhi yekuvandudza inogona kutanga.
    Iyo HAL inopa intuitive uye yakagadzirira-kushandisa-APIs kugadzirisa peripheral. Inotsigira kuvhota, kukanganisa, uye DMA programming modhi, kugadzirisa chero zvinodiwa application. Kuti uwane rumwe ruzivo nezve mashandisiro ega ega, tarisa kune akapfuma exampseti yakapihwa mu STM32CubeWL3 MCU Package.

Yambiro:
Mune yekusarudzika HAL kuita, iyo SysTick timer inoshandiswa senge nguva: inogadzira zvinokanganisa panguva dzenguva dzenguva. Kana HAL_Delay() ichidanwa kubva kuperipheral ISR process, ita shuwa kuti SysTick yekuvhiringidza ine yepamusoro pekutanga (yakawanda yakaderera) pane yekuvhiringidza yeperipheral. Zvikasadaro, iyo caller ISR process ndeye
yakavharwa. Mabasa anokanganisa magadzirirwo enguva anoziviswa se __weak kuita kuti kudarika kugoneke kana paine zvimwe zvinoshandiswa mumushandisi. file (uchishandisa nguva yakawanda-chinangwa, semuenzanisoample, kana imwe nguva sosi).
Kuti uwane rumwe ruzivo, tarisa kune HAL_TimeBase example.

LL application
Ichi chikamu chinotsanangura matanho anodiwa kugadzira tsika LL application uchishandisa STM32CubeWL3.

  1. Gadzira chirongwa
    Kuti ugadzire chirongwa chitsva, tanga kubva kuTemplates_LL chirongwa chakapihwa kune yega bhodhi pasi pe \Projects\ \Templates_LL kana kubva kune chero chirongwa chiripo pasi pe\Projects\ \E xampzvishoma_LL ( inoreva zita rebhodhi, rakadai seNUCLEO-WL32CC33).
    Iyo template purojekiti inopa isina chinhu chikuru loop basa, inova yakanaka yekutanga kuti unzwisise marongero epurojekiti yeSTM32CubeWL3. Iwo ma template maitiro makuru ndeaya anotevera:
    • Iyo ine masource codes eLL uye CMSIS madhiraivha, ayo ari mashoma seti yezvikamu zvinodiwa kugadzira kodhi pane yakapihwa bhodhi.
    • Iine nzira dzakabatanidzwa dzezvinhu zvose zvinodiwa firmware.
    • Iyo inosarudza inotsigirwa STM32WL3x chigadzirwa mutsara mudziyo uye inobvumira iyo chaiyo kumisikidzwa yeCMSIS uye LL madhiraivha.
    • Inopa yakagadzirira-kushandisa-mushandisi fileizvo zvakagadzirirwa sezvinotevera:
    • chikuru.h: LED uye USER_BUTTON tsananguro yekubvisa layer.
    • main.c: Kugadziriswa kwewachi yeSystem yehuwandu hwehuwandu.
  2. Port iyo LL example:
    • Kopa / unama iyo Templates_LL folda - kuchengetedza yekutanga sosi - kana zvakananga kugadzirisa iripo Templa tes_LL chirongwa.
    • Zvadaro, kutakura kunosanganisira kunyanya kutsiva Templates_LL files neExampLes_LL yakanangwa chirongwa.
    • Chengetedza zvikamu zvose zvebhodhi. Nezvikonzero zvekujeka, bhodhi rakanangana zvikamu zvakashongedzwa nezvakajeka tags:
      STM32WL3x-Software-Package (1)

Nokudaro, matanho makuru ekufambisa ndeaya anotevera:

  • Tsiva iyo stm32wl3x_it.h file.
  • Tsiva iyo stm32wl3x_it.c file.
  • Tsiva chikuru.h file uye ivandudze: Chengetedza iyo LED uye mushandisi bhatani tsananguro yeLL template pasi peBOARD YAKASIYANA KUGADZIRIRA. tags.
  • Tsiva chikuru.c file uye gadzirisa:
  • Chengetedza wachi yekumisikidzwa kweSystemClock_Config() LL template basa pasi peBOARD YAKATAURWA CONFIGURATION. tags.
  • Zvichienderana netsanangudzo ye LED, tsiva imwe neimwe LDx kuitika neimwe LDy inowanikwa mu file chikuru.h.

Nezvigadziriso izvi, iyo example inomhanya pabhodhi rakanangwa.

RF zvikumbiro, kuratidzira, uye examples
Mhando dzakasiyana dzeRF zvikumbiro, kuratidzira, uye exampmashoma anowanikwa mu STM32CubeWL3 package. Dzakarongwa muzvikamu zviviri zviri pasi apa.

Sub-GHz exampzvishoma uye kuratidzira
Izvi exampzvishoma zvinoratidza izvo zvakakosha zveMRSUBG uye LPAWUR radio peripherals. Izvi exampzvimwe zvinowanikwa pasi apa:

  • Projects\NUCLEO-WL33CC\Exampzvishoma\MRSUBG
  • Projects\NUCLEO-WL33CC\Exampzvishoma\LPAWUR
  • Projects\NUCLEO-WL33CC\Demonstrations\MRSUBG
  • Projects\NUCLEO-WL33CC\Demonstrations\LPAWUR

Mumwe nemumwe example kana kuratidzira kunowanzo kuve nezvirongwa zviviri zvinodaidzwa kuti Tx uye Rx ichiita semupepeti uye inogamuchira, zvichiteerana:

  • Exampzvishoma/MRSUBG
    • MRSUBG_802_15_4: kushandiswa kwechimiro chemuviri chinotsanangurwa nechiyero 802.15.4. Inoratidza magadzirirwo eredhiyo kutumira kana kugamuchira 802.15.4 mapaketi.
    • MRSUBG_BasicGeneric: Kuchinjana kweSTM32WL3x MR_SUBG basic mapaketi.
    • MRSUBG_Chat: Chishandiso chiri nyore chinoratidza mashandisiro eTx uye Rx pachishandiswa chimwe chete.
    • MRSUBG_DatabufferHandler: An example iyo inoratidza nzira yekuchinjana kubva kuDatabuffer 0 uye 1.
    • MRSUBG_Sequencer AutoAck: An exampiyo inotumira uye inogamuchira pakiti kubvuma (ACKs) otomatiki.
    • MRSUBG_WMBusSTD: Kuchinjana kweWM-Bhazi mameseji.
    • WakeupRadio: An example yekuyedza iyo LPAWUR radio peripheral.
  • Kuratidzira/MRSUBG
    • MRSUBG_RTC_Button_TX: Uyu muenzanisoample inoratidza maitiro ekuseta iyo SoC mukudzika-kumira modhi uye gadzirisa iyo MRSUBG kumutsa iyo SoC nekudzvanya PB2 kutumira furemu kana mushure mekupera kweRTC timer.
    • MRSUBG_Sequencer_Sniff: Uyu example inoratidza maitiro ekuseta iyo MRSUBG sequencer kuti ishande mu sniff mode. Ex uyuample inoratidza divi rekugamuchira uye inoda chimwe chishandiso sechifambiso.
    • MRSUBG_Timer: Iyo application inoronga akati wandei eMRSUBG timer (ine autoreload) ine dzakasiyana nguva dzenguva.
    • MRSUBG_WakeupRadio_Tx: Uyu muenzanisoample inotsanangura maitiro ekuseta iyo SoC mune yakadzika yekumira modhi uye gadzirisa iyo MRSUBG kumutsa iyo SoC nekudzvanya PB2 kutumira furemu. Ex uyuample inoratidza divi rekutapurirana uye inoda chimwe chishandiso seLPAWUR inogamuchira. The receiver example iri pasi peNUCLEO-WL33CC\Demonstrations\LPAWUR\LPAWUR_WakeupRad io_Rx folda.
  • Kuratidzira/LPAWUR
    • LPAWUR_WakeupRadio_Rx: Iyi example inotsanangura maitiro ekuseta iyo SoC mukudzika-kumira modhi uye gadzirisa iyo LPAWUR kumutsa iyo SoC kana furemu yasvika uye yakagamuchirwa nemazvo. Ex uyuample rinoratidza divi rekugamuchira uye rinoda chimwe chishandiso sechifambiso. Iyo transmitter example iri pasi peNUCLEO-WL33CC\Demonstrations\MRSUBG\MRSUBG_WakeupRad io_Tx forodha.

Sigfox™ application
Aya maapplication anoratidza maitiro ekuita Sigfox™ mamiriro uye kushandisa iripo Sigfox™ APIs. Iwo anowanikwa munzira yeprojekiti Projects\NUCLEO-WL33CC\Applications\Sigfox\:

  • Sigfox_CLI: Ichi chishandiso chinoratidza maitiro ekushandisa yekuraira-mutsara interface (CLI) kutumira mirairo inoshandisa iyo Sigfox™ protocol kutumira mameseji uye kuita precertification bvunzo.
  • Sigfox_PushButton: Ichi chishandiso chinobvumira kuongororwa kweiyo STM32WL33xx Sigfox™ mudziyo redhiyo kugona. Kudzvanya PB1 kunotumira bvunzo Sigfox™ furemu.

FAQ

  1. Ndirini pandinofanira kushandisa HAL pachinzvimbo cheLL driver?
    HAL vatyairi vanopa yakakwira-level uye basa-yakatarisana APIs, ine yakakwirira mwero wekutakurika. Chigadzirwa kana peripheral kuoma kwakavanzwa kune vashandisi vekupedzisira.
    Vatyairi veLL vanopa yakaderera-layer register level APIs, ine zvirinani optimization asi isingatakurike. Vanoda ruzivo rwakadzama rwechigadzirwa kana IP yakatarwa.
  2. Ko HAL neLL vatyairi vanogona kushandiswa pamwechete? Kana hongu, zvimhingamipinyi ndezvipi?
    Zvinogoneka kushandisa ese madhiraivha eHAL neLL. Shandisa iyo HAL yeperipheral yekutanga chikamu uye wozotonga iyo I/O mashandiro nevatyairi veLL.
    Musiyano mukuru uripo pakati peHAL neLL ndewekuti vatyairi veHAL vanoda kugadzira uye kushandisa zvibatiso zvekutarisira mashandiro nepo vatyairi veLL vanoshanda zvakananga pamarejista epamhepo. Kusanganisa HAL neLL kunoratidzwa muExampzvishoma_MIX examples.
  3. Ko LL yekutanga APIs inogoneswa sei?
    Tsanangudzo yeLL yekutanga APIs uye zviwanikwa zvakabatana (zvimiro, literals, uye prototypes) inogadziriswa neUSE_FULL_LL_DRIVER yekusanganisa switch.
    Kuti ukwanise kushandisa LL yekutanga APIs, wedzera switch iyi mutoolchain compiler preprocessor.
  4. Pane chero template chirongwa cheMRSUBG/LPAWUR peripheral examples?
    Kugadzira itsva MRSUBG kana LPAWUR example purojekiti, kana kutanga kubva kune skeleton purojekiti yakapihwa pasi pe \Pr zvinhu\NUCLEO-WL33CC\Examples\MRSUBG kana \Projects\NUCLEO-WL33CC\Examples\LPAWUR, kana kubva kune chero chirongwa chiripo pasi peaya madhairekitori mamwe chete.
  5. STM32CubeMX inogona sei kugadzira kodhi yakavakirwa pane yakamisikidzwa software?
    STM32CubeMX ine ruzivo rwakavakwa-mukati rweSTM32 microcontrollers, kusanganisira peripherals yavo uye software, iyo inobvumira kuti ipe mufananidzo unomiririra kumushandisi uye kugadzira *.h kana *.c files zvichienderana nekugadzirisa kwemushandisi.

Nhoroondo yekudzokorora

Tafura 3. Document revision history

Date Kudzokorora Kuchinja
29-Mar-2024 1 Kusunungurwa kwekutanga.
30-Oct-2024 2 Kubatanidzwa kwakazara kwe STM32CubeWL3 in STM32Cube. Updated:

Zvakabviswa:

  • Zvishandiso zvePC, kusanganisira Navigator, Nhoroondo ye STM32WL3 GUI,uye MR-SUBG Sequencer GUI
  • WiSE-Studio IOMapper inogona sei kugadzira kodhi yakavakirwa pane yakamisikidzwa software?
  • Ko Navigator inobvumira kuwana kune software package zviwanikwa?

Zvinyorwa / Zvishandiso

STM32WL3x Software Package [pdf] Mirayiridzo
STM32WL3x Software Package, STM32WL3x, Software Package, Package

References

Siya mhinduro

Yako email kero haizoburitswa. Nzvimbo dzinodiwa dzakamakwa *