STM32WL3x Software Package
Awọn pato
- Orukọ ọja: package software STM32CubeWL3
- Ibamu: STM32WL3x microcontrollers
- Awọn ẹya akọkọ:
- Layer-Layer (LL) ati Layer abstraction hardware (HAL) APIs
- SigfoxTM, FatFS, ati FreeRTOSTM kernel middleware irinše
- Awọn ohun elo ati awọn ifihan
Awọn ilana Lilo ọja
Bibẹrẹ
Lati bẹrẹ lilo package sọfitiwia STM32CubeWL3, tẹle awọn igbesẹ wọnyi:
- Ṣe igbasilẹ package sọfitiwia lati ọdọ osise naa webojula.
- Fi agbegbe idagbasoke pataki sori ẹrọ (fun apẹẹrẹ, STM32CubeIDE, EWARM, MDK-ARM).
- Tọkasi awọn examples ati awọn ohun elo ti a pese fun itọnisọna.
STM32CubeWL3 Architecture Overview
Ohun elo sọfitiwia STM32CubeWL3 jẹ itumọ ni ayika awọn ipele akọkọ mẹta
- Ipele 0: Layer abstraction Hardware (HAL) ati awọn awakọ BSP.
- Ipele 1: Awọn ohun elo, awọn ile-ikawe, ati awọn paati ti o da lori ilana.
Awọn Ibeere Nigbagbogbo (FAQ)
Q: Kini awọn ẹya akọkọ ti package sọfitiwia STM32CubeWL3?
A: Awọn ẹya akọkọ pẹlu kekere-Layer ati HAL APIs, awọn ohun elo arin bi SigfoxTM, FatFS, FreeRTOSTM ekuro, awọn ohun elo, ati awọn ifihan.
Ọrọ Iṣaaju
STM32Cube jẹ ipilẹṣẹ atilẹba STMicroelectronics lati mu iṣelọpọ iṣelọpọ pọ si ni pataki nipasẹ idinku igbiyanju idagbasoke, akoko, ati idiyele. STM32Cube bo gbogbo portfolio STM32.
STM32Cube pẹlu:
- Eto awọn irinṣẹ idagbasoke sọfitiwia ore-olumulo lati bo idagbasoke iṣẹ akanṣe lati ero inu si imuse, laarin] eyiti o jẹ:
- STM32CubeMX, ohun elo atunto sọfitiwia ayaworan ti o fun laaye iran adaṣe ti koodu ibẹrẹ C nipa lilo awọn oṣó ayaworan
- STM32CubeIDE, ohun elo idagbasoke gbogbo-ni-ọkan pẹlu iṣeto agbeegbe, iran koodu, akojọpọ koodu, ati awọn ẹya yokokoro
- STM32CubeCLT, awọn irinṣẹ idagbasoke laini aṣẹ gbogbo-ni-ọkan pẹlu iṣakojọpọ koodu, siseto igbimọ, ati awọn ẹya yokokoro
- STM32CubeProgrammer (STM32CubeProg), irinṣẹ siseto ti o wa ni ayaworan ati awọn ẹya laini aṣẹ
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), awọn irinṣẹ ibojuwo ti o lagbara lati ṣatunṣe ihuwasi ati iṣẹ ti awọn ohun elo STM32 ni akoko gidi.
- STM32Cube MCU ati Awọn idii MPU, awọn iru ẹrọ sọfitiwia ti o ni kikun ni pato si microcontroller kọọkan ati jara microprocessor (bii STM32CubeWL3 fun laini ọja STM32WL3x), eyiti o pẹlu:
- Layer abstraction hardware STM32Cube (HAL), ni idaniloju gbigbe gbigbe ti o pọju kọja portfolio STM32
- Awọn API Layer-kekere STM32Cube, ni idaniloju iṣẹ ṣiṣe ti o dara julọ ati awọn ifẹsẹtẹ pẹlu iwọn giga ti iṣakoso olumulo lori] hardware
- Eto deede ti awọn paati agbedemeji gẹgẹbi FreeRTOS™ ekuro, FatFS, ati Sigfox™
- Gbogbo awọn ohun elo sọfitiwia ti a fi sinu pẹlu awọn akojọpọ kikun ti agbeegbe ati ohun elo examples
- Awọn idii Imugboroosi STM32Cube, eyiti o ni awọn paati sọfitiwia ti a fi sinu ti o ṣe ibamu awọn iṣẹ ṣiṣe ti STM32Cube MCU ati Awọn idii MPU pẹlu:
-
- Middleware amugbooro ati applicative fẹlẹfẹlẹ
- Examples nṣiṣẹ lori diẹ ninu awọn pato STMicroelectronics idagbasoke lọọgan
Itọsọna olumulo yii ṣe apejuwe bi o ṣe le bẹrẹ pẹlu Package STM32CubeWL3 MCU.
Abala 2 ṣe apejuwe awọn ẹya akọkọ ti STM32CubeWL3 ati Abala 3 pese ohunview ti awọn oniwe-faaji ati ti MCU Package be.
ifihan pupopupo
STM32CubeWL3 nṣiṣẹ awọn ohun elo ifihan sub-GHz, pẹlu awọn alakomeji Sigfox™, lori awọn microcontrollers laini ọja STM32WL3x ti o da lori ero isise Arm® Cortex®‑M0+.
STM32WL3x microcontrollers fi sabe STMicroelectronics's ipinle-ti-ti-aworan sub-GHz ni ifaramọ RF agbeegbe redio, iṣapeye fun olekenka-kekere agbara ati iṣẹ redio to dara julọ, fun igbesi aye batiri ailopin.
AkiyesiArm jẹ aami-išowo ti a forukọsilẹ ti Arm Limited (tabi awọn ẹka rẹ) ni AMẸRIKA ati/tabi ibomiiran.
STM32CubeWL3 akọkọ awọn ẹya ara ẹrọ
- Package STM32CubeWL3 MCU nṣiṣẹ lori STM32 32-bit microcontrollers da lori Arm® Cortex®‑M0+ ero isise. O ṣajọ, ni akojọpọ ẹyọkan, gbogbo awọn paati sọfitiwia ifibọ jeneriki ti o nilo lati ṣe agbekalẹ ohun elo kan fun awọn microcontrollers laini ọja STM32WL3x.
- Apapọ pẹlu Layer-kekere (LL) ati Layer abstraction hardware (HAL) APIs ti o bo ohun elo microcontroller, papọ pẹlu eto nla ti examples nṣiṣẹ lori STMicroelectronics lọọgan. Awọn HAL ati LL API wa ni iwe-aṣẹ orisun-ìmọ BSD fun irọrun olumulo. O tun pẹlu Sigfox™, FatFS, ati awọn paati agbedemeji ekuro FreeRTOS™.
- Package STM32CubeWL3 MCU tun pese awọn ohun elo pupọ ati awọn ifihan imuse gbogbo awọn paati agbedemeji rẹ.
- Ifilelẹ paati Package STM32CubeWL3 MCU jẹ alaworan ni Nọmba 1.
olusin 1. STM32CubeWL3 MCU Package irinše
STM32CubeWL3 faaji loriview
Ojutu Package STM32CubeWL3 MCU jẹ itumọ ni ayika awọn ipele ominira mẹta ti o ni irọrun ibaraenisepo bi a ti ṣalaye ninu Nọmba 2. Ipele 0
Ipele yii ti pin si awọn alabẹrẹ mẹta:
- package support Board (BSP).
- Layer abstraction hardware (HAL):
- HAL agbeegbe awakọ
- Low-Layer awakọ
- Ipilẹ lilo agbeegbe examples.
Package atilẹyin igbimọ (BSP)
Layer yii nfunni ni akojọpọ awọn API ti o ni ibatan si awọn paati ohun elo ninu awọn igbimọ ohun elo (bii Awọn LED, awọn bọtini, ati awọn awakọ COM). O ni awọn ẹya meji:
- Ẹya ara:
Eyi ni awakọ ojulumo si ẹrọ ita lori ọkọ kii ṣe si STM32. Awakọ paati pese awọn API kan pato si awọn paati itagbangba awakọ BSP ati pe o le ṣee gbe lori eyikeyi igbimọ miiran. - Awakọ BSP:
O ngbanilaaye sisopọ awọn awakọ paati si igbimọ kan pato ati pese eto ti awọn API ore-olumulo. Ofin idaruko API ni BSP_FUNCT_Action().
Example: BSP_LED_Init (), BSP_LED_Lori ()
BSP da lori faaji apọjuwọn ngbanilaaye gbigbe irọrun lori ohun elo eyikeyi nipa ṣiṣe imuse awọn iṣẹ ṣiṣe ipele kekere.
Layer abstraction hardware (HAL) ati kekere Layer (LL)
STM32CubeWL3 HAL ati LL jẹ ibaramu ati bo ọpọlọpọ awọn ibeere ohun elo:
- Awọn awakọ HAL nfunni ni iṣẹ-giga iṣẹ-ṣiṣe awọn API ti o gbe ga julọ. Wọn tọju MCU ati idiju agbeegbe si olumulo ipari.
Awọn awakọ HAL n pese awọn API ti o da lori ẹya-ara-ọpọlọpọ-apeere, eyiti o jẹ ki imuse ohun elo olumulo jẹ irọrun nipasẹ ipese awọn ilana ṣiṣe-lati-lo. Fun example, fun awọn agbeegbe ibaraẹnisọrọ (I2C, UART, ati awọn miiran), o pese awọn API ti o fun laaye ni ibẹrẹ ati tunto agbeegbe, iṣakoso gbigbe data ti o da lori idibo, idilọwọ, tabi ilana DMA, ati mimu awọn aṣiṣe ibaraẹnisọrọ ti o le dide lakoko ibaraẹnisọrọ. Awọn API awakọ HAL ti pin si awọn ẹka meji:
- Awọn API jeneriki, eyiti o pese awọn iṣẹ ti o wọpọ ati jeneriki si gbogbo awọn alabojuto jara STM32.
- Awọn API itẹsiwaju, eyiti o pese awọn iṣẹ kan pato ati adani fun idile kan tabi nọmba apakan kan pato.
- Awọn API Layer-kekere n pese awọn API ipele-kekere ni ipele iforukọsilẹ, pẹlu iṣapeye ti o dara julọ ṣugbọn o kere si gbigbe. Wọn nilo imọ jinlẹ ti MCU ati awọn pato agbeegbe.
Awọn awakọ LL jẹ apẹrẹ lati funni ni ipele iwé-iṣalaye iwuwo iwuwo fẹẹrẹ ti o sunmọ ohun elo ju HAL. Ni ilodisi si HAL, LL API ko pese fun awọn agbeegbe nibiti iraye si iṣapeye kii ṣe ẹya bọtini, tabi fun awọn ti o nilo iṣeto sọfitiwia wuwo tabi akopọ ipele oke ti eka.
Awọn awakọ LL jẹ ẹya:
- Eto awọn iṣẹ lati ṣe ipilẹṣẹ awọn ẹya akọkọ agbeegbe ni ibamu si awọn aye ti a sọ pato ninu awọn ẹya data.
- Eto awọn iṣẹ lati kun awọn ẹya data ipilẹṣẹ pẹlu awọn iye atunto ti o baamu si aaye kọọkan.
- Išẹ fun agbeegbe de-initialization (awọn iforukọsilẹ agbeegbe ti a tun pada si awọn iye aiyipada wọn).
- Eto awọn iṣẹ laini fun taara ati wiwọle iforukọsilẹ atomiki.
- Ominira ni kikun lati HAL ati agbara lati ṣee lo ni ipo adaduro (laisi awọn awakọ HAL).
- Agbegbe kikun ti awọn ẹya agbeegbe atilẹyin.
Ipilẹ lilo agbeegbe examples
Yi Layer encloses examples ti a ṣe lori awọn agbeegbe STM32 ni lilo awọn orisun HAL ati BSP nikan.
Ifihan examples tun wa lati ṣafihan eka diẹ sii exampAwọn oju iṣẹlẹ pẹlu awọn agbeegbe kan pato, gẹgẹbi MRSUBG ati LPAWUR.
Ipele 1
Ipele yii ti pin si awọn alabẹrẹ meji:
- Middleware irinše
- Examples da lori awọn middleware irinše
Middleware irinše
Middleware jẹ akojọpọ awọn ile ikawe ti o bo ekuro FreeRTOS™, FatFS, ati ile-ikawe ilana Ilana Sigfox. Ibaraẹnisọrọ petele laarin awọn paati ti Layer yii jẹ ṣiṣe nipasẹ pipe awọn API ti o ni ifihan.
Inaro ibaraenisepo pẹlu awọn kekere-Layer awakọ ti wa ni ṣe nipasẹ kan pato callbacks ati aimi macros muse ni awọn ìkàwé eto ni wiwo ipe.
Awọn ẹya akọkọ ti paati middleware kọọkan jẹ bi atẹle:
- Ekuro FreeRTOS™: ṣe imuse ẹrọ iṣẹ akoko gidi kan (RTOS), ti a ṣe apẹrẹ fun awọn eto ifibọ.
- Sigfox™: ṣe imuse ile-ikawe ilana Ilana Sigfox ™ pẹlu nẹtiwọọki ilana Ilana Sigfox ati pẹlu ile-ikawe Ilana idanwo RF lati ṣe idanwo lodi si awọn irinṣẹ RF Sigfox™.
- FatFS: ṣe imuse FAT jeneriki file module eto.
Examples da lori awọn middleware irinše
Kọọkan middleware paati wa pẹlu ọkan tabi diẹ ẹ sii Mofiamples, tun npe ni ohun elo, fifi bi o lati lo o. Integration examples ti o lo orisirisi awọn middleware irinše ti wa ni pese bi daradara.
STM32CubeWL3 famuwia package loriview
Atilẹyin STM32WL3x awọn ẹrọ ati hardware
STM32Cube nfunni ni Layer abstraction hardware to ṣee gbe pupọ (HAL) ti a ṣe ni ayika faaji jeneriki kan. O ngbanilaaye ilana ipilẹ-lori, gẹgẹbi lilo Layer agbedemeji lati ṣe awọn iṣẹ wọn laisi mimọ, ni-ijinle, kini MCU ti lo. Eyi ṣe imudara ilotunlo koodu ikawe ati ṣe idaniloju gbigbe irọrun si awọn ẹrọ miiran.
- Ni afikun, pẹlu faaji ti o fẹlẹfẹlẹ, STM32CubeWL3 nfunni ni atilẹyin ni kikun fun gbogbo laini ọja STM32WL3x.
- Olumulo gbọdọ ṣalaye Makiro ti o tọ nikan ni stm32wl3x.h.
Table 1 fihan Makiro lati setumo da lori STM32WL3x ọja laini ẹrọ lo. Makiro yii gbọdọ tun jẹ asọye ninu olupilẹṣẹ alakojọ.
Table 1. Macros fun STM32WL3x ọja laini
Makiro asọye ni stm32wl3x.h | STM32WL3x ọja laini awọn ẹrọ |
stm32wl33 | STM32WL33xx microcontrollers |
STM32CubeWL3 ẹya kan ọlọrọ ṣeto ti Mofiamples ati awọn ohun elo ni gbogbo awọn ipele, ṣiṣe awọn ti o rọrun lati ni oye ati lo eyikeyi HAL iwakọ tabi middleware irinše. Awọn wọnyi ni examples ṣiṣẹ lori awọn igbimọ STMicroelectronics ti a ṣe akojọ si ni Tabili 2.
Ọkọ | Awọn ẹrọ atilẹyin igbimọ STM32WL3x |
NUCLEO-WL33CC1 | STM32WL33CC |
NUCLEO-WL33CC2 | STM32WL33CC |
Package STM32CubeWL3 MCU le ṣiṣẹ lori eyikeyi ohun elo ibaramu. Awọn olumulo nìkan ṣe imudojuiwọn awọn awakọ BSP si ibudo ti tẹlẹ ti a peseamples lori wọn lọọgan, ti o ba ti awọn wọnyi ni kanna hardware ẹya ara ẹrọ (gẹgẹ bi awọn LED tabi awọn bọtini).
Famuwia package ti pariview
Ojutu Package STM32CubeWL3 MCU ti pese ni package zip kan ṣoṣo ti o ni eto ti o han ni Nọmba 3.
olusin 3. STM32CubeWL3 famuwia package be
Iṣọra:
Olumulo ko gbọdọ yipada awọn paati files. Olumulo le ṣatunkọ awọn orisun \ Awọn iṣẹ akanṣe.
Fun kọọkan ọkọ, a ti ṣeto ti Mofiamples ti pese pẹlu awọn iṣẹ akanṣe tẹlẹ fun EWARM, MDK-ARM, ati STM32CubeIDE toolchains.
olusin 4 fihan ise agbese be fun NUCLO-WL33CCx lọọgan.
Awọn examples jẹ ipin ti o da lori ipele STM32CubeWL3 ti wọn lo si. Wọn ti wa ni orukọ bi wọnyi:
- Ipele 0 examples ni a npe ni Eksamples, Examples_LL, ati Examples_MIX. Wọn lo awọn awakọ HAL ni atele, awọn awakọ LL, ati akojọpọ awọn awakọ HAL ati LL laisi paati agbedemeji eyikeyi. Ifihan examples tun wa.
- Ipele 1 examples ni a npe ni Awọn ohun elo. Wọn pese awọn ọran lilo aṣoju ti paati agbedemeji kọọkan.
Ohun elo famuwia eyikeyi fun igbimọ ti a fun ni a le kọ ni kiakia nipa lilo awọn iṣẹ akanṣe awoṣe ti o wa ninu awọn ilana Templ ates ati Templates_LL.
Examples, Examples_LL, ati Examples_MIX ni eto kanna:
- \Inc folda ti o ni gbogbo akọsori ninu files.
- \Src folda ti o ni koodu orisun ninu.
- \EWARM, \ MDK-ARM, ati \ STM32CubeIDE awọn folda ti o ni iṣẹ akanṣe ti a ti ṣatunto fun ọpa irinṣẹ kọọkan.
- readme.md ati readme.html ti n ṣe apejuwe example ihuwasi ati agbegbe ti o nilo lati jẹ ki o ṣiṣẹ.
Bibẹrẹ pẹlu STM32CubeWL3
Nṣiṣẹ a akọkọ Mofiample
Yi apakan salaye bi o rọrun lati ṣiṣe a akọkọ Mofiample laarin STM32CubeWL3. O nlo bi apejuwe iran ti toggle LED ti o rọrun ti nṣiṣẹ lori igbimọ NUCLO-WL33CC1:
- Ṣe igbasilẹ Package STM32CubeWL3 MCU.
- Yọọ kuro, tabi ṣiṣẹ insitola ti o ba pese, sinu ilana ti o fẹ.
- Rii daju pe ki o ma ṣe atunṣe eto package ti o han ni Figure 3. STM32CubeWL3 famuwia package be. Ṣe akiyesi pe o tun ṣe iṣeduro lati daakọ package ni ipo ti o sunmọ iwọn didun root (itumo C: \ ST tabi G: \ Awọn idanwo), bi diẹ ninu awọn IDE ṣe ba awọn iṣoro pade nigbati ọna ba gun ju.
Bii o ṣe le ṣiṣẹ HAL example
Ṣaaju ki o to ikojọpọ ati ki o nṣiṣẹ ohun Mofiample, o ti wa ni strongly niyanju lati ka awọn Mofiample ka file fun eyikeyi pato iṣeto ni.
- Lọ kiri si \ Awọn iṣẹ akanṣe \ NUCLEO-WL33CC \ Examples.
- Ṣii \ GPIO, lẹhinna \ GPIO_EXTI awọn folda.
- Ṣii iṣẹ akanṣe pẹlu ẹrọ irinṣẹ ti o fẹ. Iyara pariview lori bi o ṣe le ṣii, kọ, ati ṣiṣe iṣaajuample pẹlu awọn atilẹyin irinṣẹ irinṣẹ ni a fun ni isalẹ.
- Tun gbogbo rẹ kọ files ki o si gbe aworan naa sinu iranti ibi-afẹde.
- Ṣiṣe awọn example. Fun alaye diẹ sii, tọka si example ka file.
Lati ṣii, kọ, ati ṣiṣe ohun exampPẹlu ọkọọkan awọn ẹwọn irinṣẹ atilẹyin, tẹle awọn igbesẹ ni isalẹ:
- EWARM:
- Labẹ awọn Examples folda, ṣii \EWARM folda.
- Lọlẹ Project.eww workspace (orukọ aaye iṣẹ le yipada lati ọkan example si miiran).
- Tun gbogbo rẹ kọ files: [Ise agbese]>[Tun gbogbo rẹ kọ].
- Kojọpọ aworan ise agbese: [Ise agbese]>[Ṣiṣe atunṣe].
- Ṣiṣe eto naa: [Ṣatunkọ]>[Lọ (F5)].
- MDK-ARM:
- Labẹ awọn Examples folda, ṣii folda folda \MDK-ARM.
- Ṣii aaye iṣẹ Project.uvproj (orukọ aaye iṣẹ le yipada lati ọkan example si miiran).
- Tun gbogbo rẹ kọ files: [Ise agbese]>[Tun gbogbo ibi-afẹde kọ files].
- Kojọpọ aworan ise agbese: [Ṣiṣatunṣe]>[Bẹrẹ/Duro Akokọ yokokoro].
- Ṣiṣe eto naa: [Ṣatunkọ]> [Ṣiṣe (F5)].
- STM32CubeIDE:
- Ṣii ohun elo STM32CubeIDE.
- Tẹ lori [File>>[Yipada aaye-iṣẹ]>[Omiiran] ki o lọ kiri si itọsọna aaye iṣẹ STM32CubeIDE.
- Tẹ lori [File>>[Iwọ wọle], yan [Gbogbogbo]>[Awọn iṣẹ akanṣe ti o wa tẹlẹ sinu aaye iṣẹ], lẹhinna tẹ [Next].
- Lọ kiri lori ayelujara si itọsọna aaye iṣẹ STM32CubeIDE ko si yan iṣẹ akanṣe naa.
- Tun gbogbo ise agbese files: Yan ise agbese ni Project Explorer window ki o si tẹ lori awọn
[Ise agbese]> [Ise agbese Kọ] akojọ. - Ṣiṣe eto naa: [Ṣiṣe]> [Ṣiṣe atunṣe (F11)].
Ṣiṣe idagbasoke ohun elo aṣa kan
Lilo STM32CubeMX lati se agbekale tabi mu ohun elo kan dojuiwọn
Ninu Package STM32Cube MCU, o fẹrẹ to gbogbo iṣẹ akanṣe examples ti wa ni ipilẹṣẹ pẹlu ohun elo STM32CubeMX lati ṣe ipilẹṣẹ eto, awọn agbeegbe, ati agbedemeji.
Awọn taara lilo ti tẹlẹ ise agbese example lati ọpa STM32CubeMX nilo STM32CubeMX 6.12.0 tabi ju bẹẹ lọ:
- Lẹhin fifi sori ẹrọ ti STM32CubeMX, ṣii ati ti o ba jẹ dandan mu imudojuiwọn iṣẹ akanṣe kan.
Ọna ti o rọrun julọ lati ṣii iṣẹ akanṣe ti o wa tẹlẹ ni lati tẹ lẹẹmeji lori * .ioc file ki STM32CubeMX ṣii ise agbese na laifọwọyi ati orisun rẹ files. STM32CubeMX ṣe ipilẹṣẹ koodu orisun ibẹrẹ ti iru awọn iṣẹ akanṣe. - Koodu orisun ohun elo akọkọ jẹ ninu nipasẹ awọn asọye “CODE USER” ati “Opin CODE END”. Ti yiyan agbeegbe ati eto ba yipada, STM32CubeMX ṣe imudojuiwọn apakan ibẹrẹ ti koodu lakoko ti o tọju koodu orisun ohun elo akọkọ.
Lati ṣe agbekalẹ iṣẹ akanṣe aṣa pẹlu STM32CubeMX, tẹle ilana igbese-nipasẹ-igbesẹ:
- Ṣe atunto gbogbo sọfitiwia ifibọ ti a beere nipa lilo olutuka rogbodiyan pinout, oluranlọwọ eto igi aago kan, ẹrọ iṣiro agbara agbara, ati ohun elo ti n ṣiṣẹ iṣeto agbeegbe MCU (bii GPIO tabi USART).
- Ṣe ipilẹṣẹ koodu C ibẹrẹ ti o da lori iṣeto ti o yan. Koodu yii ti šetan lati lo laarin ọpọlọpọ awọn agbegbe idagbasoke. Awọn koodu olumulo ti wa ni pa ni nigbamii ti koodu iran.
Fun alaye diẹ sii nipa STM32CubeMX, tọka si afọwọṣe olumulo STM32CubeMX fun iṣeto STM32 ati ipilẹṣẹ koodu C koodu (UM1718).
Awọn ohun elo awakọ
HAL ohun elo
Abala yii ṣe apejuwe awọn igbesẹ ti o nilo lati ṣẹda ohun elo HAL aṣa nipa lilo STM32CubeWL3:
- Ṣẹda ise agbese
Lati ṣẹda iṣẹ akanṣe tuntun, bẹrẹ boya lati inu iṣẹ akanṣe Awoṣe ti a pese fun igbimọ kọọkan labẹ \ Awọn iṣẹ akanṣe< STM32xxx_yyy> \ Awọn awoṣe tabi lati eyikeyi iṣẹ akanṣe labẹ \ Awọn iṣẹ akanṣe \ \ Exampl es tabi \ Awọn iṣẹ akanṣe \ Awọn ohun elo (nibo tọka si orukọ igbimọ). Ise agbese Awoṣe n pese iṣẹ lupu akọkọ ti o ṣofo. Sibẹsibẹ, o jẹ aaye ibẹrẹ ti o dara lati loye awọn eto iṣẹ akanṣe STM32CubeWL32. Awoṣe naa ni awọn abuda wọnyi:- O ni koodu orisun HAL, CMSIS, ati awọn awakọ BSP, eyiti o jẹ eto ti o kere ju ti awọn paati ti o nilo lati ṣe agbekalẹ koodu kan lori igbimọ ti a fun.
- O ni awọn ọna to wa fun gbogbo awọn paati famuwia.
- O ṣe alaye awọn ẹrọ laini ọja STM32WL3x atilẹyin, gbigba awọn awakọ CMSIS ati HAL lati tunto ni deede.
- O pese olumulo setan-lati-lo fileti tunto bi a ṣe han ni isalẹ:
- HAL ti ipilẹṣẹ pẹlu ipilẹ akoko aiyipada pẹlu Arm® mojuto SysTick.
- SysTick ISR ṣe imuse fun HAL_Delay() idi.
Akiyesi: Nigbati o ba n daakọ iṣẹ akanṣe ti o wa tẹlẹ si ipo miiran, rii daju pe gbogbo awọn ọna ti o wa pẹlu ti ni imudojuiwọn.
- Tunto awọn paati famuwia
HAL ati awọn paati agbedemeji nfunni ni akojọpọ awọn aṣayan iṣeto-akoko ni lilo awọn macros #define ti a kede ni akọsori kan file. Awoṣe iṣeto ni file ti pese laarin paati kọọkan, eyiti o gbọdọ daakọ si folda ise agbese (nigbagbogbo iṣeto ni file ti a npè ni xxx_conf_template.h, ajẹkù _template nilo lati yọkuro nigbati o ba n daakọ si folda ise agbese). Iṣeto ni file pese alaye ti o to lati ni oye ipa ti aṣayan iṣeto kọọkan. Alaye alaye diẹ sii wa ninu iwe ti a pese fun paati kọọkan. - Bẹrẹ ile-ikawe HAL
Lẹhin ti fo si eto akọkọ, koodu ohun elo gbọdọ pe HAL_Init() API lati ṣe ipilẹṣẹ ile-ikawe HAL, eyiti o ṣe awọn iṣẹ ṣiṣe wọnyi:- Iṣeto ni ti awọn filasi iranti prefetch ati SysTick da gbigbi ayo (nipasẹ macros telẹ ni stm3 2wl3x_hal_conf.h).
- Iṣeto ni ti SysTick lati se ina idalọwọduro gbogbo millisecond ni SysTick da gbigbi ayo TICK_INT_PRIO telẹ ni stm32wl3x_hal_conf.h.
- Eto ti ẹgbẹ NVIC ni pataki si 0.
- Ipe ti HAL_MspInit () iṣẹ ipe ti ṣe asọye ninu olumulo stm32wl3x_hal_msp.c file lati ṣe agbaye-kekere ipele hardware initializations.
- Tunto aago eto
Iṣeto aago eto jẹ ṣiṣe nipasẹ pipe awọn API meji ti a ṣalaye ni isalẹ:- HAL_RCC_OscConfig(): API yii ṣe atunto awọn oscillator inu ati ita. Olumulo yan lati tunto ọkan tabi gbogbo awọn oscillators.
- HAL_RCC_ClockConfig(): API yii tunto orisun aago eto, airi iranti filasi, ati AHB ati APB prescalers.
- Bibẹrẹ agbeegbe naa
- Ni akọkọ kọ iṣẹ ipilẹṣẹ agbeegbe. Tẹsiwaju bi atẹle:
- Mu aago agbeegbe ṣiṣẹ.
- Tunto awọn GPIO agbeegbe.
- Tunto ikanni DMA ati ki o mu idaduro DMA ṣiṣẹ (ti o ba nilo).
- Mu idaduro agbeegbe ṣiṣẹ (ti o ba nilo).
- Ṣatunkọ stm32xxx_it.c lati pe awọn olutọju idalọwọduro ti o nilo (ẹgbeegbe ati DMA), ti o ba nilo.
- Kọ ilana pipe awọn iṣẹ ipe pada ti idalọwọduro agbeegbe tabi DMA ni itumọ lati lo.
- Ninu olumulo akọkọ.c file, pilẹṣẹ ọna imudani agbeegbe lẹhinna pe iṣẹ ipilẹṣẹ agbeegbe lati ṣe ipilẹṣẹ agbeegbe naa.
- Se agbekale ohun elo
Ni eyi stage, eto naa ti ṣetan ati idagbasoke koodu ohun elo olumulo le bẹrẹ.
HAL naa n pese ogbon inu ati awọn API ti o ṣetan lati lo lati tunto agbeegbe naa. O ṣe atilẹyin idibo, awọn idilọwọ, ati awoṣe siseto DMA kan, lati gba awọn ibeere ohun elo eyikeyi. Fun awọn alaye diẹ sii lori bi o ṣe le lo agbeegbe kọọkan, tọka si iṣaaju ọlọrọample ṣeto pese ni STM32CubeWL3 MCU Package.
Iṣọra:
Ninu imuse HAL aiyipada, aago SysTick ni a lo bi ipilẹ akoko: o n ṣe idalọwọduro ni awọn aaye arin deede. Ti a ba pe HAL_Delay () lati ilana ISR agbeegbe, rii daju pe idalọwọduro SysTick ni ayo ti o ga julọ (ni nọmba kekere) ju idalọwọduro agbeegbe lọ. Bibẹẹkọ, ilana ISR olupe naa jẹ
dina. Awọn iṣẹ ṣiṣe ti o ni ipa lori awọn atunto akoko akoko ni a kede bi __ailera lati jẹ ki a fagilee ṣee ṣe ni ọran ti awọn imuse miiran ninu olumulo file (lilo aago idi gbogbogbo, fun example, tabi orisun akoko miiran).
Fun alaye diẹ sii, tọka si HAL_TimeBase example.
LL ohun elo
Abala yii ṣe apejuwe awọn igbesẹ ti o nilo lati ṣẹda ohun elo LL aṣa nipa lilo STM32CubeWL3.
- Ṣẹda ise agbese
Lati ṣẹda ise agbese titun kan, yala bẹrẹ lati Templates_LL ise agbese ti a pese fun igbimọ kọọkan labẹ \ Awọn iṣẹ-ṣiṣe \ \ Templates_LL tabi lati eyikeyi ise agbese to wa labẹ \Projects\ \E xamples_LL ( tọka si orukọ igbimọ, gẹgẹbi NUCLO-WL32CC33).
Ise agbese awoṣe n pese iṣẹ lupu akọkọ ti o ṣofo, eyiti o jẹ aaye ibẹrẹ ti o dara lati loye awọn eto iṣẹ akanṣe fun STM32CubeWL3. Awọn abuda akọkọ ti awoṣe jẹ atẹle yii:- O ni awọn koodu orisun ti awọn awakọ LL ati CMSIS, eyiti o jẹ ipin ti o kere ju ti awọn paati ti o nilo lati ṣe agbekalẹ koodu naa lori igbimọ ti a fun.
- O ni awọn ọna to wa fun gbogbo awọn paati famuwia ti a beere.
- O yan ohun elo laini ọja STM32WL3x ti o ni atilẹyin ati gba iṣeto ti o pe ti CMSIS ati awọn awakọ LL.
- O pese olumulo setan-lati-lo files ti a ti ṣeto tẹlẹ bi atẹle:
- main.h: LED ati USER_BUTTON asọye áljẹbrà Layer.
- main.c: Eto aago iṣeto ni fun o pọju igbohunsafẹfẹ.
- Ibudo LL example:
- Daakọ/lẹẹmọ folda Templates_LL – lati tọju orisun akọkọ – tabi ṣe imudojuiwọn iṣẹ akanṣe tes_LL ti o wa tẹlẹ.
- Lẹhinna, gbigbe ni akọkọ ni rirọpo Templates_LL files nipasẹ awọn Examples_LL ise agbese ìfọkànsí.
- Pa gbogbo ọkọ kan pato awọn ẹya ara. Fun awọn idi ti wípé, ọkọ kan pato awọn ẹya ara ti wa ni ti asia pẹlu kan pato tags:
Nitorinaa, awọn igbesẹ gbigbe akọkọ jẹ atẹle yii:
- Rọpo stm32wl3x_it.h file.
- Rọpo stm32wl3x_it.c file.
- Rọpo akọkọ.h file ki o si ṣe imudojuiwọn rẹ: Jeki LED ati itumọ bọtini olumulo ti awoṣe LL labẹ CONFIGURATION PATAKI BOARD tags.
- Rọpo akọkọ.c file ati imudojuiwọn rẹ:
- Jeki iṣeto aago ti iṣẹ awoṣe SystemClock_Config () LL labẹ BOARD PATAKI CONFIGURATION tags.
- Da lori awọn LED definition, ropo kọọkan LDx iṣẹlẹ pẹlu miiran LDy wa ninu awọn file akọkọ.h.
Pẹlu awọn iyipada wọnyi, example nṣiṣẹ lori awọn ìfọkànsí ọkọ.
Awọn ohun elo RF, awọn ifihan, ati examples
Awọn oriṣiriṣi awọn ohun elo RF, awọn ifihan, ati examples wa ninu package STM32CubeWL3. Wọn ti wa ni akojọ si ni awọn meji ruju ni isalẹ.
Sub-GHz examples ati awọn ifihan
Awọn wọnyi ni examples ṣe afihan awọn ẹya akọkọ ti MRSUBG ati awọn agbeegbe redio LPAWUR. Awọn wọnyi ni examples wa labẹ:
- Awọn iṣẹ akanṣe \ NUCLEO-WL33CC \ Examples \ MRSUBG
- Awọn iṣẹ akanṣe \ NUCLEO-WL33CC \ Examples\LPAWUR
- Awọn iṣẹ akanṣe \ NUCLEO-WL33CC \ Awọn ifihan \ MRSUBG
- Awọn iṣẹ akanṣe \ NUCLEO-WL33CC \ Awọn ifarahan \ LPAWUR
Kọọkan example tabi ifihan ni gbogbogbo ni awọn eto meji ti a pe ni Tx ati Rx ti n ṣiṣẹ bi atagba ati olugba, lẹsẹsẹ:
- Examples / MRSUBG
- MRSUBG_802_15_4: imuse ti awọn ti ara Layer asọye nipa bošewa 802.15.4. O fihan bi o ṣe le tunto redio lati tan kaakiri tabi gba awọn apo-iwe 802.15.4.
- MRSUBG_BasicGeneric: Paṣipaarọ awọn apo-iwe ipilẹ STM32WL3x MR_SUBG.
- MRSUBG_Chat: Ohun elo ti o rọrun ti o fihan bi o ṣe le lo Tx ati Rx lori ẹrọ kanna.
- MRSUBG_DatabufferHandler: Mofiample ti o fihan bi o ṣe le paarọ lati Databuffer 0 ati 1.
- MRSUBG_Sequencer AutoAck: Mofiample ti o atagba ati ki o gba soso acknowledgments (ACKs) laifọwọyi.
- MRSUBG_WBusSTD: Paṣipaarọ awọn ifiranṣẹ WM-Bus.
- WakeupRadio: Mofiample ṣe idanwo agbeegbe redio LPAWUR.
- Awọn ifihan / MRSUBG
- MRSUBG_RTC_Button_TX: Example fihan bi o ṣe le ṣeto SoC ni ipo iduro-jinle ati tunto MRSUBG lati ji SoC nipa titẹ PB2 lati firanṣẹ fireemu kan tabi lẹhin ipari akoko RTC.
- MRSUBG_Sequencer_Sniff: Example fihan bi o ṣe le ṣeto atẹle MRSUBG lati ṣiṣẹ ni ipo sniff. Eyi example ṣe afihan ẹgbẹ olugba ati nilo ẹrọ miiran bi atagba.
- MRSUBG_Timer: Ohun elo naa ṣeto ọpọlọpọ awọn iṣẹlẹ ti aago MRSUBG (pẹlu agberu adaṣe) pẹlu awọn aaye arin oriṣiriṣi.
- MRSUBG_WakeupRadio_Tx: Example ṣe alaye bi o ṣe le ṣeto SoC ni ipo iduro jinlẹ ati tunto MRSUBG lati ji SoC naa nipa titẹ PB2 lati firanṣẹ fireemu kan. Eyi example ṣe afihan ẹgbẹ atagba ati nilo ẹrọ miiran bi olugba LPAWUR. Awọn olugba example wa labẹ NUCLO-WL33CC \ Awọn ifihan \ LPAWUR \ LPAWUR_WakeupRad io_Rx folda.
- Awọn ifihan / LPAWUR
- LPAWUR_WakeupRadio_Rx: Example ṣe alaye bi o ṣe le ṣeto SoC ni ipo iduro-jinlẹ ati tunto LPAWUR lati ji SoC nigbati fireemu ba de ati pe o gba ni deede. Eyi example ṣe afihan ẹgbẹ olugba ati nilo ẹrọ miiran bi atagba. Atagba example wa labẹ NUCLO-WL33CC \ Awọn ifihan \ MRSUBG \ MRSUBG_WakeupRad io_Tx folda.
Ohun elo Sigfox™
Awọn ohun elo wọnyi fihan bi o ṣe le ṣe imuse oju iṣẹlẹ Sigfox™ ati lo awọn API Sigfox™ ti o wa. Wọn wa ni ọna ise agbese Awọn iṣẹ akanṣe NUCLEO-WL33CC Awọn ohun elo Sigfox:
- Sigfox_CLI: Ohun elo yii fihan bi o ṣe le lo wiwo laini aṣẹ (CLI) lati firanṣẹ awọn aṣẹ ti o lo ilana Sigfox ™ lati firanṣẹ awọn ifiranṣẹ ati ṣe awọn idanwo iṣaaju.
- Sigfox_PushButton: Ohun elo yii ngbanilaaye igbelewọn ti awọn agbara redio ẹrọ STM32WL33xx Sigfox™ ẹrọ. Titẹ PB1 ndari idanwo Sigfox™ fireemu.
FAQ
- Nigbawo ni MO gbọdọ lo HAL dipo awọn awakọ LL?
Awọn awakọ HAL nfunni ni ipele giga ati awọn API ti o da lori iṣẹ, pẹlu ipele giga ti gbigbe. Ọja tabi eka agbeegbe wa ni ipamọ fun awọn olumulo ipari.
Awọn awakọ LL nfunni ni ipele API ipele iforukọsilẹ kekere, pẹlu iṣapeye ti o dara julọ ṣugbọn kere si gbigbe. Wọn nilo imọ-jinlẹ ti ọja tabi awọn pato IP. - Njẹ HAL ati awọn awakọ LL ṣee lo papọ? Ti o ba jẹ bẹẹni, kini awọn idiwọ naa?
O ṣee ṣe lati lo mejeeji HAL ati awọn awakọ LL. Lo HAL fun ipele ibẹrẹ agbeegbe ati lẹhinna ṣakoso awọn iṣẹ I/O pẹlu awakọ LL.
Iyatọ nla laarin HAL ati LL ni pe awọn awakọ HAL nilo lati ṣẹda ati lo awọn mimu fun iṣakoso iṣẹ lakoko ti awọn awakọ LL ṣiṣẹ taara lori awọn iforukọsilẹ agbeegbe. Dapọ HAL ati LL jẹ alaworan ninu Examples_MIX examples. - Bawo ni awọn API ipilẹṣẹ LL ṣe ṣiṣẹ?
Ìtumọ̀ API ìpilẹ̀ṣẹ̀ LL àti àwọn ohun àmúṣọrọ̀ tí ó somọ (àwọn ìdàgbàsókè, àwọn ìtumọ̀, àti àwọn àfọwọ́kọ) jẹ́ àmúlò nípasẹ̀ yíyí àkópọ̀ USE_FULL_LL_DRIVER.
Lati ni anfani lati lo awọn API ipilẹṣẹ LL, ṣafikun iyipada yii sinu iṣaju iṣakojọpọ ohun elo irinṣẹ. - Njẹ iṣẹ akanṣe awoṣe eyikeyi wa fun MRSUBG/LPAWUR agbeegbe examples?
Lati ṣẹda MRSUBG tuntun tabi LPAWUR example ise agbese, boya bẹrẹ lati awọn skeleton ise agbese ti a pese labẹ \ Pr ojects \ NUCLEO-WL33CC \ Ex.amples \ MRSUBG tabi \ Awọn iṣẹ-ṣiṣe \ NUCLEO-WL33CC \ Examples \ LPAWUR, tabi lati eyikeyi iṣẹ akanṣe ti o wa labẹ awọn ilana kanna. - Bawo ni STM32CubeMX le ṣe ipilẹṣẹ koodu ti o da lori sọfitiwia ti a fi sii?
STM32CubeMX ni imọ-itumọ ti STM32 microcontrollers, pẹlu awọn agbeegbe ati sọfitiwia wọn, eyiti o fun laaye laaye lati pese aṣoju ayaworan si olumulo ati ṣe ina * .h tabi * .c files da lori awọn olumulo ká iṣeto ni.
Àtúnyẹwò itan
Table 3. Iwe itan àtúnyẹwò
Ọjọ | Àtúnyẹwò | Awọn iyipada |
29-Oṣu Kẹta-2024 | 1 | Itusilẹ akọkọ. |
30-Oṣu Kẹwa-2024 | 2 | Full Integration ti STM32CubeWL3 in STM32Cube. imudojuiwọn:
Yọ:
|
Awọn iwe aṣẹ / Awọn orisun
![]() |
ST STM32WL3x Software Package [pdf] Awọn ilana STM32WL3x Software Package, STM32WL3x, Software Package, Package |