Chithunzi cha STM32WL3x
Zofotokozera
- Dzina lazogulitsa: STM32CubeWL3 pulogalamu yamapulogalamu
- Mtundu wofananira wa " STM32WL3x microcontrollers"
- Zofunika Kwambiri:
- Low-layer (LL) ndi hardware abstraction layer (HAL) APIs
- Sigfox TM, FatFS, ndi FreeRTOSTM kernel middleware zigawo
- Mapulogalamu ndi ziwonetsero
Malangizo Ogwiritsira Ntchito Zogulitsa
Kuyambapo
Kuti muyambe kugwiritsa ntchito pulogalamu ya STM32CubeWL3, tsatirani izi:
- Tsitsani phukusi la mapulogalamu kuchokera kwa akuluakulu webmalo.
- Ikani malo ofunikira otukuka (mwachitsanzo, STM32CubeIDE, EWARM, MDK-ARM).
- Onani za examples ndi ntchito zoperekedwa kuti zitsogolere.
Zithunzi za STM32CubeWL3view
Pulogalamu yamapulogalamu ya STM32CubeWL3 imamangidwa mozungulira magawo atatu akulu
- Gawo 0: Hardware abstraction layer (HAL) ndi madalaivala a BSP.
- Gawo 1: Mapulogalamu, malaibulale, ndi zigawo zozikidwa pa protocol.
Mafunso Ofunsidwa Kawirikawiri (FAQ)
Q: Kodi mbali zazikulu za phukusi STM32CubeWL3 mapulogalamu?
A: Zinthu zazikuluzikulu zimaphatikizapo ma API otsika ndi a HAL, zigawo zapakati monga Sigfox TM, FatFS, FreeRTOSTM kernel, mapulogalamu, ndi ziwonetsero.
Mawu Oyamba
STM32Cube ndi njira yoyambira ya STMicroelectronics yopititsa patsogolo zopangapanga pochepetsa kuyesetsa kwachitukuko, nthawi, ndi mtengo. STM32Cube imakwirira mbiri yonse ya STM32.
STM32Cube imaphatikizapo:
- Zida zopangira mapulogalamu osavuta kugwiritsa ntchito kuti zithandizire kukula kwa projekiti kuyambira pamalingaliro mpaka pakukwaniritsidwa, mwa] zomwe ndi:
- STM32CubeMX, chida chosinthira mapulogalamu omwe amalola kuwongolera kachidindo ka C pogwiritsa ntchito afiti ojambula.
- STM32CubeIDE, chida chachitukuko cha zonse-mu-chimodzi chokhala ndi kasinthidwe kozungulira, kupanga ma code, kuphatikiza ma code, ndi kukonza zolakwika.
- STM32CubeCLT, chida chotukula mzere wa malamulo onse ndi chimodzi chokhala ndi ma code, ma boardboard, ndi mawonekedwe owongolera.
- STM32CubeProgrammer (STM32CubeProg), chida chopangira mapulogalamu chomwe chimapezeka m'mawonekedwe azithunzi ndi mzere wamalamulo
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), zida zamphamvu zowunikira kuti musinthe machitidwe ndi magwiridwe antchito a STM32 munthawi yeniyeni.
- Maphukusi a STM32Cube MCU ndi MPU, mapulaneti ophatikizika-pulogalamu okhazikika pamtundu uliwonse wa microcontroller ndi microprocessor (monga STM32CubeWL3 ya mzere wa STM32WL3x), womwe umaphatikizapo:
- STM32Cube hardware abstraction layer (HAL), kuwonetsetsa kusuntha kwakukulu kudutsa STM32 portfolio
- STM32Cube low-layer APIs, kuwonetsetsa kuti zikuyenda bwino ndi mapazi omwe ali ndi kuwongolera kwakukulu kwa ogwiritsa] zida
- Seti yosasinthika yazinthu zapakati monga FreeRTOS™ kernel, FatFS, ndi Sigfox™
- Zida zonse zamapulogalamu ophatikizidwa okhala ndi seti zonse zotumphukira ndi applicative examples
- STM32Cube Expansion Packages, yomwe ili ndi zida zophatikizika zamapulogalamu zomwe zimakwaniritsa magwiridwe antchito a STM32Cube MCU ndi MPU Packages okhala ndi:
-
- Zowonjezera za Middleware ndi zigawo zogwiritsira ntchito
- Exampimayendetsa pama board ena apadera a STMicroelectronics
Bukuli likufotokoza momwe mungayambire ndi Phukusi la STM32CubeWL3 MCU.
Gawo 2 likufotokoza zazikulu za STM32CubeWL3 ndipo Gawo 3 limapereka zowonjezeraview za kamangidwe kake komanso kapangidwe ka Phukusi la MCU.
Zina zambiri
STM32CubeWL3 imayendetsa zowonetsera zapansi pa GHz, kuphatikiza ma binaries a Sigfox™, pa STM32WL3x microcontrollers pamzere wazotengera Arm® Cortex®‑M0+ purosesa.
Ma microcontrollers a STM32WL3x amaika makina a STMicroelectronics ogwirizana ndi mawayilesi a RF amtundu wa STMicroelectronics, okometsedwa kuti azigwiritsa ntchito mphamvu zotsika kwambiri komanso kuchita bwino pawailesi, kwa moyo wa batri wosayerekezeka.
Zindikirani: Arm ndi chizindikiro cholembetsedwa cha Arm Limited (kapena mabungwe ake) ku US ndi/kapena kwina.
Zithunzi za STM32CubeWL3
- Phukusi la STM32CubeWL3 MCU limayenda pa STM32 32-bit microcontrollers kutengera Arm® Cortex®‑M0+ purosesa. Imasonkhanitsa, mu phukusi limodzi, zida zonse zamapulogalamu zomwe zimafunikira kuti mupange pulogalamu ya STM32WL3x ma microcontrollers a mzere wazinthu.
- Phukusili limaphatikizapo ma API a low-layer (LL) ndi hardware abstraction layer (HAL) omwe amaphimba ma microcontroller hardware, pamodzi ndi ma ex.ampLes kuthamanga pa STMicroelectronics board. Ma HAL ndi LL APIs akupezeka mu layisensi ya BSD yotseguka kuti ogwiritsa ntchito athe. Zimaphatikizanso zigawo za Sigfox™, FatFS, ndi FreeRTOS ™ kernel middleware.
- Phukusi la STM32CubeWL3 MCU limaperekanso ntchito zingapo ndi ziwonetsero zomwe zikukwaniritsa zida zake zonse zapakati.
- Gawo la Phukusi la STM32CubeWL3 MCU likuwonetsedwa pazithunzi 1.
Chithunzi 1. STM32CubeWL3 MCU Zigawo za Phukusi
Zithunzi za STM32CubeWL3view
Yankho la Phukusi la STM32CubeWL3 MCU limamangidwa mozungulira magawo atatu odziyimira pawokha omwe amalumikizana mosavuta monga momwe tafotokozera pa Chithunzi 2. Gawo 0
Mulingo uwu wagawidwa m'magulu atatu:
- Phukusi lothandizira bolodi (BSP).
- Chigawo cha Hardware abstraction layer (HAL):
- HAL zotumphukira madalaivala
- Madalaivala apansi-wosanjikiza
- Kugwiritsa ntchito zotumphukira zoyambira examples.
Phukusi la Board Support (BSP)
Chosanjikizachi chimapereka ma API okhudzana ndi zida za Hardware (monga ma LED, mabatani, ndi madalaivala a COM). Wapangidwa ndi magawo awiri:
- Gawo:
Uyu ndiye woyendetsa wachibale wa chipangizo chakunja pa bolodi osati ku STM32. Dalaivala wagawo amapereka ma API apadera kwa zida zakunja zoyendetsa BSP ndipo amatha kunyamulika pa bolodi ina iliyonse. - BSP driver:
Zimalola kulumikiza madalaivala a chigawocho ku bolodi linalake ndikupereka ma API osavuta kugwiritsa ntchito. Lamulo lotchulira dzina la API ndi BSP_FUNCT_Action().
Example: BSP_LED_Init(), BSP_LED_On()
BSP idakhazikitsidwa pamapangidwe anthawi zonse omwe amalola kunyamula mosavuta pa Hardware iliyonse pongogwiritsa ntchito machitidwe otsika.
Hardware abstraction layer (HAL) ndi low-layer (LL)
STM32CubeWL3 HAL ndi LL ndizothandizana ndipo zimakwaniritsa zofunikira zingapo zogwiritsira ntchito:
- Madalaivala a HAL amapereka ma API apamwamba kwambiri onyamula ntchito. Amabisa MCU ndi zovuta zotumphukira kwa ogwiritsa ntchito.
Madalaivala a HAL amapereka ma API okhazikika amitundu ingapo, omwe amathandizira kukhazikitsa kwa ogwiritsa ntchito popereka njira zokonzekera kugwiritsa ntchito. Za example, kwa zotumphukira zolumikizirana (I2C, UART, ndi ena), imapereka ma API omwe amalola kuyambitsa ndi kukonza zotumphukira, kuyang'anira kusamutsa deta potengera kuvota, kusokoneza, kapena njira ya DMA, ndikuwongolera zolakwika zolankhulirana zomwe zingachitike panthawi yolumikizana. Ma API oyendetsa a HAL agawidwa m'magulu awiri:
- Ma Generic APIs, omwe amapereka ntchito wamba komanso wamba kwa ma microcontrollers onse a STM32.
- Ma API Owonjezera, omwe amapereka ntchito zenizeni komanso zosinthidwa makonda a banja linalake kapena gawo linalake.
- Ma API otsika amapereka ma API otsika pamlingo wolembetsa, ndikukhathamiritsa bwino koma osasunthika. Amafunikira chidziwitso chozama cha MCU ndi zotumphukira zake.
Madalaivala a LL adapangidwa kuti apereke wosanjikiza wopepuka wopepuka waukadaulo womwe uli pafupi ndi zida kuposa HAL. Mosiyana ndi HAL, LL APIs samaperekedwa kwa zotumphukira pomwe mwayi wokometsedwa siwofunika kwambiri, kapena kwa omwe amafunikira kukhazikika kwa mapulogalamu olemera kapena stack zovuta zapamwamba.
Ma driver a LL ali ndi:
- Gulu la magwiridwe antchito kuti ayambitse zinthu zazikulu zotumphukira molingana ndi magawo omwe afotokozedwa m'ma data.
- Gulu la ntchito zodzaza zoyambira zoyambira ndi zosintha zomwe zimagwirizana ndi gawo lililonse.
- Ntchito yochotsa zotumphukira (zolembera zotumphukira zobwezeretsedwa ku zikhalidwe zawo zosasinthika).
- Mndandanda wa ntchito zapaintaneti zofikira mwachindunji ndi ma atomiki.
- Kudziyimira pawokha kwathunthu kuchokera ku HAL ndi kuthekera kogwiritsidwa ntchito poyimirira (popanda madalaivala a HAL).
- Kufotokozera kwathunthu kwa mawonekedwe othandizidwa ndi zotumphukira.
Kugwiritsa ntchito zotumphukira zoyambira examples
Chigawo ichi chimatsekereza exampzomangidwa pamwamba pa STM32 zotumphukira pogwiritsa ntchito zida za HAL ndi BSP zokha.
Chiwonetsero exampLes amapezekanso kuti awonetse zovuta zakaleample zochitika zokhala ndi zotumphukira zapadera, monga MRSUBG ndi LPAWUR.
Gawo 1
Mulingo uwu wagawidwa m'magawo awiri:
- Zida zapakati
- Examples kutengera zigawo zapakati
Zida zapakati
The middleware ndi gulu la malaibulale omwe amaphimba FreeRTOS™ kernel, FatFS, ndi Sigfox™ protocol library. Kulumikizana kopingasa pakati pa zigawo za gawoli kumachitika poyimbira ma API owonetsedwa.
Kulumikizana koyima ndi madalaivala osanjikiza pang'ono kumachitika kudzera mu kuyimbira kwina kwina ndi ma static macros omwe amakhazikitsidwa mu mawonekedwe a library system.
Zomwe zikuluzikulu za gawo lililonse lapakati ndi izi:
- FreeRTOS™ kernel: imagwiritsa ntchito makina ogwiritsira ntchito nthawi yeniyeni (RTOS), yopangidwira makina ophatikizidwa.
- Sigfox™: imagwiritsa ntchito laibulale ya Sigfox™ yogwirizana ndi netiweki ya Sigfox™ protocol ndikuphatikiza laibulale ya RF test protocol kuyesa zida za RF Sigfox™.
- FatFS: imagwiritsa ntchito ma generic FAT file ndondomeko module.
Examples kutengera zigawo zapakati
Chigawo chilichonse chapakati chimabwera ndi chimodzi kapena zingapo zakaleamples, yomwe imatchedwanso mapulogalamu, kusonyeza momwe mungagwiritsire ntchito. Kuphatikiza exampLes omwe amagwiritsa ntchito zigawo zingapo zapakati amaperekedwanso.
STM32CubeWL3 firmware phukusi lathaview
Zida zothandizidwa ndi STM32WL3x ndi zida
STM32Cube imapereka chosanjikiza chosunthika cha Hardware (HAL) chomangidwa mozungulira mamangidwe ake. Imalola mfundo zomanga-pazigawo, monga kugwiritsa ntchito wosanjikiza wapakati kuti akwaniritse ntchito zawo popanda kudziwa, mozama, zomwe MCU imagwiritsidwa ntchito. Izi zimathandizira kusinthika kwa kachidindo ka laibulale ndikuwonetsetsa kusuntha kosavuta kwa zida zina.
- Kuphatikiza apo, ndi kapangidwe kake kosanjikiza, STM32CubeWL3 imapereka chithandizo chokwanira pamizere yonse ya STM32WL3x.
- Wogwiritsa akuyenera kufotokozera macro olondola mu stm32wl3x.h.
Gulu 1 likuwonetsa macro kuti afotokoze kutengera chipangizo cha mzere wa STM32WL3x chomwe chagwiritsidwa ntchito. Macro iyi iyeneranso kufotokozedwa mu compiler preprocessor.
Table 1. Macros kwa STM32WL3x mzere wa mankhwala
Macro yofotokozedwa mu stm32wl3x.h | Zida za mzere wa STM32WL3x |
stm32wl33 | Zithunzi za STM32WL33xx |
STM32CubeWL3 imakhala ndi ma examples ndi ntchito pamilingo yonse, kupangitsa kuti ikhale yosavuta kumvetsetsa ndikugwiritsa ntchito dalaivala aliyense wa HAL kapena zida zapakati. Izi examples imayendetsa pama board a STMicroelectronics olembedwa mu Table 2.
Bungwe | STM32WL3x zida zothandizira |
Chithunzi cha NUCLEO-WL33CC1 | Chithunzi cha STM32WL33CC |
Chithunzi cha NUCLEO-WL33CC2 | Chithunzi cha STM32WL33CC |
Phukusi la STM32CubeWL3 MCU limatha kuthamanga pazida zilizonse zofananira. Ogwiritsa ntchito amangosintha madalaivala a BSP kuti asunge zomwe zaperekedwaamples pa matabwa awo, ngati awa ali ndi zida zofanana (monga ma LED kapena mabatani).
Firmware phukusi lathaview
Yankho la Phukusi la STM32CubeWL3 MCU limaperekedwa mu phukusi limodzi la zip lomwe lili ndi mawonekedwe omwe akuwonetsedwa pachithunzi 3.
Chithunzi 3. STM32CubeWL3 firmware phukusi dongosolo
Chenjezo:
Wogwiritsa sayenera kusintha zigawozo files. Wogwiritsa ntchito amatha kusintha magwero a \Projects.
Pa bolodi lililonse, seti ya exampLes imaperekedwa ndi mapulojekiti okonzedweratu a EWARM, MDK-ARM, ndi STM32CubeIDE toolchains.
Chithunzi 4 chikuwonetsa kapangidwe ka polojekiti yama board a NUCLEO-WL33CCx.
ExampLes amasankhidwa kutengera mulingo wa STM32CubeWL3 womwe amagwiritsira ntchito. Amatchulidwa motere:
- Gawo 0 exampLes amatchedwa Eksampizi, Eksamples_LL, ndi Eksampkuchepera_MIX. Amagwiritsa ntchito madalaivala a HAL, madalaivala a LL, ndi madalaivala osakanikirana a HAL ndi LL opanda chigawo chilichonse chapakati. Chiwonetsero examples ziliponso.
- Gawo 1 exampLes amatchedwa Applications. Amapereka zochitika zomwe zimagwiritsidwa ntchito pagawo lililonse lapakati.
Pulogalamu iliyonse ya firmware pa bolodi yoperekedwa ikhoza kumangidwa mwachangu pogwiritsa ntchito ma template omwe akupezeka muzolemba za Templ ates ndi Templates_LL.
Exampizi, Eksamples_LL, ndi EksampLes_MIX ali ndi mawonekedwe omwewo:
- \Inc chikwatu chomwe chili ndi mutu wonse files.
- \ Src chikwatu chomwe chili ndi code source.
- \EWARM, \MDK-ARM, ndi \ STM32CubeIDE zikwatu zomwe zili ndi pulojekiti yokonzedweratu pazida zilizonse.
- readme.md ndi readme.html kufotokoza zakaleampkhalidwe ndi malo ofunikira kuti agwire ntchito.
Kuyamba ndi STM32CubeWL3
Kuthamangira wakale wakaleample
Gawoli likufotokoza momwe zimakhalira zosavuta kuyendetsa munthu woyambaampChithunzi cha STM32CubeWL3. Zimagwiritsa ntchito ngati fanizo kupanga kwakusintha kosavuta kwa LED komwe kumayendera pa bolodi la NUCLEO-WL33CC1:
- Tsitsani Phukusi la STM32CubeWL3 MCU.
- Tsegulani, kapena yendetsani okhazikitsa ngati aperekedwa, mu bukhu lomwe mwasankha.
- Onetsetsani kuti musasinthe dongosolo la phukusi lomwe likuwonetsedwa mu Chithunzi 3. STM32CubeWL3 firmware phukusi. Dziwani kuti akulimbikitsidwanso kukopera phukusi pamalo omwe ali pafupi ndi mizu (kutanthauza C:\ST kapena G:\Mayeso), monga ma IDE ena amakumana ndi mavuto pamene njirayo ili yaitali kwambiri.
Momwe mungayendetsere HAL example
Musanatsegule ndikuyendetsa wakaleample, Ndi bwino kuwerenga wakaleampndi readme file pakusintha kulikonse.
- Sakatulani ku \Projects\NUCLEO-WL33CC\Examples.
- Tsegulani \ GPIO, ndiye \ GPIO_EXTI zikwatu.
- Tsegulani pulojekitiyi ndi zida zomwe mumakonda. Kutha mwachanguview momwe mungatsegule, kumanga, ndi kuyendetsa example ndi zida zothandizira zaperekedwa pansipa.
- Manganinso zonse files ndikuyika chithunzicho muzokumbukira zomwe mukufuna.
- Thamangani example. Kuti mudziwe zambiri, onani za exampndi readme file.
Kuti mutsegule, kumanga, ndi kuyendetsa exampndi chida chilichonse chothandizira, tsatirani izi:
- EWARM:
- Pansi pa Eksamples foda, tsegulani fayilo ya \EWARM.
- Yambitsani malo ogwirira ntchito a Project.eww (dzina la malo ogwirira ntchito litha kusintha kuchokera ku wina wakaleample kwa wina).
- Manganinso zonse files: [Pulojekiti]>[Panganinso zonse].
- Kwezani chithunzi cha polojekiti: [Project]>[Debug].
- Yambitsani pulogalamuyi: [Chotsani]> [Pitani (F5)].
- MDK-ARM:
- Pansi pa Eksamples foda, tsegulani fayilo ya \MDK-ARM.
- Tsegulani malo ogwirira ntchito a Project.uvproj (dzina la malo ogwirira ntchito likhoza kusintha kuchokera ku wina wakaleample kwa wina).
- Manganinso zonse files: [Project]>[Panganinso zolinga zonse files].
- Kwezani chithunzi cha pulojekiti: [Chotsani]>[Yambani/Imitsani Gawo Lothetsa Vuto].
- Yambitsani pulogalamuyi: [Chotsani]> [Thamangani (F5)].
- STM32CubeIDE:
- Tsegulani chida cha STM32CubeIDE.
- Dinani pa [File]>[Sinthani Malo Ogwirira Ntchito]>[Zina] ndikusakatula ku STM32CubeIDE malo ogwirira ntchito.
- Dinani pa [File]>[Tengani], sankhani [Zambiri]>[Mapulojekiti Adalipo mu Malo Ogwirira Ntchito], kenako dinani [Kenako].
- Sakatulani ku chikwatu cha STM32CubeIDE malo ogwirira ntchito ndikusankha polojekitiyo.
- Kumanganso polojekiti yonse files: Sankhani polojekiti mu Project Explorer zenera ndiye alemba pa
[Pulojekiti]>[Pangani polojekiti] menyu. - Yambitsani pulogalamuyi: [Thamangani]> [Debug (F11)].
Kupanga pulogalamu yokhazikika
Kugwiritsa ntchito STM32CubeMX kupanga kapena kusintha pulogalamu
Mu Phukusi la STM32Cube MCU, pafupifupi ma projekiti onse kaleamples amapangidwa ndi chida cha STM32CubeMX kuti ayambitse dongosolo, zotumphukira, ndi zapakati.
Kugwiritsa ntchito mwachindunji polojekiti yomwe ilipo kaleampkuchokera ku chida cha STM32CubeMX chimafuna STM32CubeMX 6.12.0 kapena kupitilira apo:
- Mukakhazikitsa STM32CubeMX, tsegulani ndipo ngati kuli kofunikira sinthani ntchito yomwe mukufuna.
Njira yosavuta yotsegulira polojekiti yomwe ilipo ndikudina kawiri pa * .ioc file kotero kuti STM32CubeMX imatsegula pulojekitiyo ndi gwero lake files. STM32CubeMX imapanga zoyambira zoyambira mapulojekiti oterowo. - Khodi yayikulu yogwiritsira ntchito ili ndi ndemanga "USER CODE BEGIN" ndi "USER CODE END". Ngati kusankhidwa kwa zotumphukira ndi zosintha zasinthidwa, STM32CubeMX imasintha gawo loyambira la kachidindo ndikusunga khodi yayikulu yoyambira.
Kuti mupange pulojekiti yokhazikika ndi STM32CubeMX, tsatirani ndondomekoyi:
- Konzani mapulogalamu onse ofunikira ophatikizidwa pogwiritsa ntchito pinout-conflict solver, chothandizira kuyika mtengo wa wotchi, chowerengera chogwiritsa ntchito mphamvu, ndi zida zomwe zikupanga zotumphukira za MCU (monga GPIO kapena USART).
- Pangani kachidindo C koyambira kutengera kasinthidwe kosankhidwa. Khodi iyi ndi yokonzeka kugwiritsidwa ntchito m'malo angapo otukuka. Khodi ya ogwiritsa ntchito imasungidwa pakupanga ma code otsatirawa.
Kuti mumve zambiri za STM32CubeMX, onani buku la ogwiritsa la STM32CubeMX pakusintha kwa STM32 ndikukhazikitsa C code generation (UM1718).
Mapulogalamu oyendetsa
Pulogalamu ya HAL
Gawoli likufotokoza masitepe ofunikira kuti mupange pulogalamu ya HAL yokhazikika pogwiritsa ntchito STM32CubeWL3:
- Pangani polojekiti
Kuti mupange pulojekiti yatsopano, yambani kuchokera ku projekiti ya Template yoperekedwa pa bolodi lililonse pansi pa \Projects\< STM32xxx_yyy>\Templates kapena kuchokera ku polojekiti iliyonse yomwe ilipo pansi pa \Projects\ \Eksampl kapena \Projects\ \ Mapulogalamu (komwe amatanthauza dzina la bolodi). Pulojekiti ya Template imapereka ntchito yayikulu yopanda kanthu. Komabe, ndi poyambira bwino kumvetsetsa zokonda za polojekiti ya STM32CubeWL32. Template ili ndi izi:- Lili ndi code code ya HAL, CMSIS, ndi madalaivala a BSP, omwe ndi magawo ochepa omwe amafunikira kupanga code pa bolodi yoperekedwa.
- Ili ndi njira zophatikizidwira za zigawo zonse za firmware.
- Imatanthauzira zida zamtundu wa STM32WL3x zothandizidwa, kulola madalaivala a CMSIS ndi HAL kukhazikitsidwa moyenera.
- Imapereka wogwiritsa ntchito wokonzeka kugwiritsa ntchito files preconfigured monga momwe zilili pansipa:
- HAL idayamba ndi nthawi yokhazikika ndi Arm® core SysTick.
- SysTick ISR yakhazikitsidwa ndi cholinga cha HAL_Delay().
Zindikirani: Mukakopera pulojekiti yomwe ilipo kumalo ena, onetsetsani kuti njira zonse zomwe zaphatikizidwazo zasinthidwa.
- Konzani zigawo za firmware
Zida za HAL ndi zapakati zimapereka njira zosinthira nthawi yomanga pogwiritsa ntchito macros #define yolengezedwa pamutu. file. Kukonzekera kwa template file imaperekedwa mkati mwa chigawo chilichonse, chomwe chiyenera kukopera ku chikwatu cha polojekiti (nthawi zambiri kasinthidwe file imatchedwa xxx_conf_template.h, chidutswa cha _template chiyenera kuchotsedwa pochikopera ku foda ya polojekiti). kasinthidwe file imapereka chidziwitso chokwanira kuti mumvetsetse momwe mungasinthire njira iliyonse. Zambiri zatsatanetsatane zimapezeka muzolemba zomwe zaperekedwa pagawo lililonse. - Yambitsani laibulale ya HAL
Mukadumphira ku pulogalamu yayikulu, nambala yofunsira iyenera kuyimbira HAL_Init() API kuti ayambitse laibulale ya HAL, yomwe imagwira ntchito zotsatirazi:- Kusintha kwa kukumbukira kwa flash memory ndi SysTick kusokoneza patsogolo (kudzera mu macros ofotokozedwa mu stm3 2wl3x_hal_conf.h).
- Kusintha kwa SysTick kuti izipanga kusokoneza millisecond iliyonse pa SysTick kusokoneza patsogolo TICK_INT_PRIO yotanthauzidwa mu stm32wl3x_hal_conf.h.
- Kuyika patsogolo kwa gulu la NVIC kukhala 0.
- Kuyimba kwa HAL_MspInit() kuyimbanso ntchito kumatanthauzidwa mu stm32wl3x_hal_msp.c wosuta file kuchita zoyambira zapadziko lonse lapansi zapadziko lonse lapansi.
- Konzani wotchi yadongosolo
Kukonzekera kwa wotchi kumachitidwa poyitana ma API awiri omwe afotokozedwa pansipa:- HAL_RCC_OscConfig(): API iyi imakonza ma oscillator amkati ndi akunja. Wogwiritsa amasankha kukonza imodzi kapena onse oscillator.
- HAL_RCC_ClockConfig(): API iyi imakonza gwero la wotchi ya system, flash memory latency, ndi AHB ndi APB prescaler.
- Kuyambitsa zotumphukira
- Choyamba lembani ntchito yoyambitsa zotumphukira. Chitani motere:
- Yambitsani wotchi yozungulira.
- Konzani ma GPIO ozungulira.
- Konzani njira ya DMA ndikuyambitsa kusokoneza kwa DMA (ngati pakufunika).
- Yambitsani kusokoneza kwapang'onopang'ono (ngati kuli kofunikira).
- Sinthani stm32xxx_it.c kuti muyimbire zosokoneza zofunika (zotumphukira ndi DMA), ngati pakufunika.
- Lembani ndondomeko yonse yobwerezabwereza ngati kusokoneza kwapang'onopang'ono kapena DMA ikuyenera kugwiritsidwa ntchito.
- Mu wosuta main.c file, yambitsani chogwirizira chotumphukira kenako imbani ntchito yoyambitsa zotumphukira kuti muyambitse zotumphukira.
- Konzani pulogalamu
Pa izi stage, dongosololi ndi lokonzeka ndipo chitukuko cha kachidindo cha ogwiritsa ntchito chingayambike.
HAL imapereka ma API anzeru komanso okonzeka kugwiritsa ntchito kukonza zotumphukira. Imathandizira kuvota, kusokoneza, ndi mtundu wa pulogalamu ya DMA, kuti ikwaniritse zofunikira zilizonse zofunsira. Kuti mumve zambiri zamomwe mungagwiritsire ntchito zotumphukira zilizonse, onani olemera wakaleampzomwe zaperekedwa mu Phukusi la STM32CubeWL3 MCU.
Chenjezo:
Pakukhazikitsa kosasintha kwa HAL, SysTick timer imagwiritsidwa ntchito ngati nthawi: imatulutsa zosokoneza pakapita nthawi. Ngati HAL_Delay() imatchedwa kuchokera ku njira ya ISR yozungulira, onetsetsani kuti kusokoneza kwa SysTick kumakhala kofunikira kwambiri (kutsika kwambiri) kuposa kusokoneza kwapambuyo. Kupanda kutero, njira ya woyimba ISR ndi
oletsedwa. Ntchito zomwe zikukhudza masanjidwe a nthawi zimalengezedwa ngati __zofooka kuti zitheke kupitilirapo ngati zitachitika zina mwa wogwiritsa ntchito. file (pogwiritsa ntchito chowerengera nthawi, mwachitsanzoample, kapena gwero lina la nthawi).
Kuti mudziwe zambiri, onani zakale za HAL_TimeBaseample.
LL ntchito
Gawoli likufotokoza masitepe ofunikira kuti mupange pulogalamu ya LL pogwiritsa ntchito STM32CubeWL3.
- Pangani polojekiti
Kuti mupange pulojekiti yatsopano, mwina yambani kuchokera ku projekiti ya Templates_LL yoperekedwa pa bolodi lililonse pansi pa \Projects\ \Templates_LL kapena kuchokera ku polojekiti iliyonse yomwe ilipo pansi pa \Projects\ \ndi xampkuchepera_LL ( amatanthauza dzina la bolodi, monga NUCLEO-WL32CC33).
Pulojekiti ya template imapereka ntchito yayikulu yopanda kanthu, yomwe ndi poyambira bwino kuti mumvetsetse makonda a polojekiti ya STM32CubeWL3. Makhalidwe akuluakulu a template ndi awa:- Lili ndi magwero a madalaivala a LL ndi CMSIS, omwe ndi magawo ochepa omwe amafunikira kupanga kachidindo pa bolodi lomwe laperekedwa.
- Lili ndi njira zophatikizidwira za zigawo zonse zofunika za firmware.
- Imasankha chida chothandizira cha STM32WL3x chothandizira ndikulola kusinthidwa kolondola kwa madalaivala a CMSIS ndi LL.
- Imapereka wogwiritsa ntchito wokonzeka kugwiritsa ntchito filezomwe zidakonzedweratu motere:
- main.h: LED ndi USER_BUTTON matanthauzo afupikitsidwe wosanjikiza.
- main.c: Masinthidwe a wotchi yamakina afupipafupi.
- Pitani ku LL exampLe:
- Koperani / kumata chikwatu cha Templates_LL - kusunga gwero loyamba - kapena kusintha mwachindunji polojekiti yomwe ilipo ya Templa tes_LL.
- Kenako, kunyamula kumakhala makamaka m'malo mwa Templates_LL filendi Eksamples_LL polojekiti yomwe mukufuna.
- Sungani mbali zonse za bolodi. Pazifukwa zomveka bwino, mbali zina za bolodi zimayikidwa chizindikiro tags:
Chifukwa chake, masitepe akuluakulu onyamula ndi awa:
- Sinthani stm32wl3x_it.h file.
- Sinthani stm32wl3x_it.c file.
- M'malo chachikulu.h file ndikusintha: Sungani matanthauzidwe a batani la LED ndi ogwiritsa ntchito pa template ya LL pansi pa BOARD Specific CONFIGURATION tags.
- M'malo chachikulu.c file ndikusintha:
- Sungani kasinthidwe ka wotchi ya SystemClock_Config() LL template ntchito pansi pa BOARD SIPICIFIC CONFIGURATION tags.
- Kutengera kutanthauzira kwa LED, sinthani zomwe zimachitika LDx ndi LDy ina yomwe ilipo mu file chachikulu.h.
Ndi zosintha izi, example imathamangira pa bolodi lomwe mukufuna.
RF ntchito, ziwonetsero, ndi mwachitsanzoamples
Mitundu yosiyanasiyana ya ntchito za RF, ziwonetsero, ndi mwachitsanzoampLes akupezeka mu STM32CubeWL3 phukusi. Zalembedwa m'zigawo ziwiri pansipa.
Sub-GHz exampzochitika ndi ziwonetsero
Izi exampLes kuwonetsa mbali zazikulu za ma wayilesi a MRSUBG ndi LPAWUR. Izi exampzina zilipo pansi:
- Ntchito\NUCLEO-WL33CC\Exampndi\MRSUBG
- Ntchito\NUCLEO-WL33CC\Examples\LPAWUR
- Projects\NUCLEO-WL33CC\Demonstrations\MRSUBG
- Projects\NUCLEO-WL33CC\Demonstrations\LPAWUR
Aliyense example kapena chiwonetsero nthawi zambiri chimakhala ndi mapulogalamu awiri otchedwa Tx ndi Rx omwe amagwira ntchito ngati transmitter ndi receiver, motsatana:
- Examples/MRSUBG
- MRSUBG_802_15_4: kukhazikitsidwa kwa kusanjikiza komwe kumatanthauzidwa ndi muyezo 802.15.4. Imawonetsa momwe mungasinthire wailesi kuti itumize kapena kulandira mapaketi a 802.15.4.
- MRSUBG_BasicGeneric: Kusinthana kwa mapaketi oyambira STM32WL3x MR_SUBG.
- MRSUBG_Chat: Pulogalamu yosavuta yomwe imawonetsa momwe mungagwiritsire ntchito Tx ndi Rx pachida chimodzi.
- MRSUBG_DatabufferHandler: Example zomwe zikuwonetsa momwe mungasinthire kuchokera ku Databuffer 0 ndi 1.
- MRSUBG_Sequencer AutoAck: Example zomwe zimatumiza ndikulandila zidziwitso za paketi (ACKs) zokha.
- MRSUBG_WMBusSTD: Kusinthana kwa mauthenga a WM-Bus.
- WakeupRadio: An example kuyesa zotumphukira za wailesi ya LPAWUR.
- Ziwonetsero/MRSUBG
- MRSUBG_RTC_Button_TX: Chitsanzo ichiample ikuwonetsa momwe mungakhazikitsire SoC mumayendedwe akuzama ndikukhazikitsa MRSUBG kuti idzutse SoC pokanikiza PB2 kutumiza chimango kapena RTC itatha.
- MRSUBG_Sequencer_Sniff: Example ikuwonetsa momwe mungakhazikitsire sequencer ya MRSUBG kuti igwire ntchito monunkhiza. Ex iziample amawonetsa mbali yolandila ndipo amafuna chipangizo china ngati chotumizira.
- MRSUBG_Timer: Pulogalamuyi imakonza nthawi zingapo za MRSUBG timer (yokhala ndi autoreload) ndi nthawi zosiyanasiyana.
- MRSUBG_WakeupRadio_Tx: Example akufotokoza momwe mungakhazikitsire SoC mumayendedwe akuya ndikukhazikitsa MRSUBG kuti idzutse SoC pokanikiza PB2 kutumiza chimango. Ex iziample ikuwonetsa mbali yotumizira ndipo imafuna chipangizo china ngati cholandila LPAWUR. Wolandira example ili pansi pa NUCLEO-WL33CC\Demonstrations\LPAWUR\LPAWUR_WakeupRad io_Rx foda.
- Ziwonetsero/LPAWUR
- LPAWUR_WakeupRadio_Rx: Example akufotokozera momwe mungakhazikitsire SoC mumayendedwe akuzama ndikukhazikitsa LPAWUR kuti idzutse SoC pomwe chimango chikafika ndikulandilidwa bwino. Ex iziample amawonetsa mbali yolandila ndipo amafuna chipangizo china ngati chotumizira. Wotumiza example ili pansi pa NUCLEO-WL33CC\Demonstrations\MRSUBG\MRSUBG_WakeupRad io_Tx foda.
Pulogalamu ya Sigfox™
Mapulogalamuwa akuwonetsa momwe mungakhazikitsire zochitika za Sigfox™ ndikugwiritsa ntchito ma Sigfox™ API. Amapezeka munjira ya projekiti Projects\NUCLEO-WL33CC\Applications\Sigfox\:
- Sigfox_CLI: Pulogalamuyi ikuwonetsa momwe mungagwiritsire ntchito mawonekedwe a mzere wa malamulo (CLI) kutumiza malamulo omwe amagwiritsa ntchito protocol ya Sigfox™ kutumiza mauthenga ndikuyesa mayeso a precertification.
- Sigfox_PushButton: Pulogalamuyi imalola kuwunika kwa STM32WL33xx Sigfox™ pawailesi pazida. Kukanikiza PB1 kumatumiza chimango cha Sigfox™ choyesa.
FAQ
- Ndiyenera kugwiritsa ntchito liti HAL m'malo mwa madalaivala a LL?
Madalaivala a HAL amapereka ma API apamwamba komanso opangidwa ndi ntchito, okhala ndi mulingo wapamwamba kwambiri. Zogulitsa kapena zotumphukira zimabisidwa kwa ogwiritsa ntchito.
Madalaivala a LL amapereka ma API olembetsa osanjikiza otsika, okhathamiritsa bwino koma osasunthika. Amafuna kudziwa mozama za malonda kapena ma IP. - Kodi madalaivala a HAL ndi LL angagwiritsidwe ntchito palimodzi? Ngati inde, zopinga zake ndi zotani?
Ndizotheka kugwiritsa ntchito madalaivala onse a HAL ndi LL. Gwiritsani ntchito HAL pagawo loyambira ndikuwongolera ma I/O ndi madalaivala a LL.
Kusiyana kwakukulu pakati pa HAL ndi LL ndikuti madalaivala a HAL amafunikira kupanga ndi kugwiritsa ntchito zogwirira ntchito pomwe madalaivala a LL amagwira ntchito mwachindunji pamakaundula ozungulira. Kusakaniza HAL ndi LL kukuwonetsedwa mu Exampkuchepera_MIX examples. - Kodi ma API oyambitsa LL amayatsidwa bwanji?
Tanthauzo la ma API oyambitsa LL ndi zothandizira (zomanga, mawu, ndi ma prototypes) zimakhazikitsidwa ndi kusintha kwa USE_FULL_LL_DRIVER.
Kuti muthe kugwiritsa ntchito ma API oyambitsa a LL, onjezani chosinthirachi mu cholozera cham'manja cha toolchain. - Kodi pali projekiti iliyonse yama template ya MRSUBG/LPAWUR zotumphukira examples?
Kuti mupange MRSUBG kapena LPAWUR wakale wakaleampndi polojekiti, mwina ayambe kuchokera ku pulojekiti ya mafupa yomwe yaperekedwa pansi pa \Pr zinthu\NUCLEO-WL33CC\Examples\MRSUBG kapena \Projects\NUCLEO-WL33CC\Examples\LPAWUR, kapena kuchokera ku pulojekiti iliyonse yomwe ilipo pansi pa zolemba zomwezi. - Kodi STM32CubeMX ingapange bwanji khodi kutengera mapulogalamu ophatikizidwa?
STM32CubeMX ili ndi chidziwitso chokhazikika cha STM32 microcontrollers, kuphatikizapo zotumphukira zawo ndi mapulogalamu, zomwe zimalola kuti zipereke chithunzithunzi kwa wogwiritsa ntchito ndikupanga *.h kapena *.c files kutengera kasinthidwe ka wosuta.
Mbiri yobwereza
Gulu 3. Mbiri yokonzanso zolemba
Tsiku | Kubwereza | Zosintha |
29-Mar-2024 | 1 | Kutulutsidwa koyamba. |
30-Oct-2024 | 2 | Kusakanikirana kwathunthu kwa Chithunzi cha STM32CubeWL3 in Mtengo wa STM32Cube. Zasinthidwa:
Zachotsedwa:
|
Zolemba / Zothandizira
Pulogalamu ya STM32WL3x [pdf] Malangizo Phukusi la Mapulogalamu a STM32WL3x, STM32WL3x, Phukusi la Mapulogalamu, Phukusi |
Maumboni
-
Mapulogalamu Apadera a Mapulogalamu Opangira Madivelopa ndi Oyambitsa - Dealsbe
- Buku Logwiritsa Ntchito