STM32WL3x Proqram Paketi

Spesifikasiyalar
- Məhsulun adı: STM32CubeWL3 proqram paketi
- Uyğunluq: STM32WL3x mikro nəzarətçiləri
- Əsas Xüsusiyyətlər:
- Aşağı səviyyəli (LL) və aparat abstraksiya qatı (HAL) API-ləri
- SigfoxTM, FatFS və FreeRTOSTM kernel ara proqram komponentləri
- Tətbiqlər və nümayişlər
Məhsuldan İstifadə Təlimatları
Başlanır
STM32CubeWL3 proqram paketindən istifadə etməyə başlamaq üçün bu addımları yerinə yetirin:
- Rəsmi proqram paketini yükləyin websayt.
- Lazımi inkişaf mühitini quraşdırın (məsələn, STM32CubeIDE, EWARM, MDK-ARM).
- Keçmişə müraciət edinamptəlimatlar və proqramlar.
STM32CubeWL3 Arxitektura Bitdiview
STM32CubeWL3 proqram paketi üç əsas səviyyə ətrafında qurulub
- Səviyyə 0: Aparat abstraksiya təbəqəsi (HAL) və BSP sürücüləri.
- Səviyyə 1: Proqramlar, kitabxanalar və protokol əsaslı komponentlər.
Tez-tez verilən suallar (FAQ)
S: STM32CubeWL3 proqram paketinin əsas xüsusiyyətləri hansılardır?
A: Əsas xüsusiyyətlərə aşağı səviyyəli və HAL API-ləri, SigfoxTM, FatFS, FreeRTOSTM nüvəsi kimi ara proqram komponentləri, tətbiqlər və nümayişlər daxildir.
Giriş
STM32Cube, inkişaf səylərini, vaxtı və xərcləri azaltmaqla dizayner məhsuldarlığını əhəmiyyətli dərəcədə yaxşılaşdırmaq üçün STMicroelectronics orijinal təşəbbüsüdür. STM32Cube bütün STM32 portfelini əhatə edir.
STM32Cube daxildir:
- Layihənin inkişafını konsepsiyadan həyata keçirməyə qədər əhatə edən istifadəçi dostu proqram təminatının inkişaf etdirilməsi alətləri toplusu, bunlar arasında:
- STM32CubeMX, qrafik sehrbazlardan istifadə edərək C başlanğıc kodunun avtomatik yaradılmasına imkan verən qrafik proqram konfiqurasiya alətidir.
- STM32CubeIDE, periferik konfiqurasiya, kodun yaradılması, kodun tərtibi və sazlama xüsusiyyətləri ilə hamısı bir yerdə inkişaf alətidir.
- STM32CubeCLT, kod tərtibi, lövhənin proqramlaşdırılması və sazlama xüsusiyyətləri ilə hamısı bir yerdə komanda xətti inkişaf alətləri dəsti
- STM32CubeProgrammer (STM32CubeProg), qrafik və əmr satırı versiyalarında mövcud olan proqramlaşdırma aləti
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), real vaxt rejimində STM32 tətbiqlərinin davranışını və performansını tənzimləmək üçün güclü monitorinq alətləri
- STM32Cube MCU və MPU Paketləri, hər bir mikrokontroller və mikroprosessor seriyasına xas olan hərtərəfli quraşdırılmış proqram platformaları (STM32WL3x məhsul xətti üçün STM32CubeWL3 kimi) bunlara daxildir:
- STM32Cube aparat abstraksiya təbəqəsi (HAL), STM32 portfelində maksimum daşınma qabiliyyətini təmin edir
- STM32Cube aşağı səviyyəli API-lər, avadanlıq üzərində yüksək dərəcədə istifadəçi nəzarəti ilə ən yaxşı performansı və izləri təmin edir.
- FreeRTOS™ kernel, FatFS və Sigfox™ kimi ardıcıl proqram komponentləri dəsti
- Periferik və tətbiqi eksamples
- STM32Cube MCU və MPU Paketlərinin funksiyalarını tamamlayan daxili proqram komponentlərini ehtiva edən STM32Cube Genişləndirmə Paketləri:
-
- Orta proqram genişləndirmələri və tətbiqi təbəqələr
- Exampbəzi xüsusi STMicroelectronics inkişaf lövhələrində işləyir
Bu istifadəçi təlimatı STM32CubeWL3 MCU Paketi ilə necə işə başlamağı təsvir edir.
Bölmə 2 STM32CubeWL3-ün əsas xüsusiyyətlərini təsvir edir və Bölmə 3-də artıqview onun arxitekturası və MCU Paket strukturu.
Ümumi məlumat
STM32CubeWL3 Arm® Cortex®‑M32+ prosessoruna əsaslanan STM3WL0x məhsul xətti mikrokontrolörlərində Sigfox™ ikili faylları da daxil olmaqla sub-GHz nümayiş proqramlarını idarə edir.
STM32WL3x mikrokontrollerləri STMicroelectronics-in ən müasir sub-GHz-ə uyğun RF radio periferiyasını özündə cəmləşdirir, ultra aşağı enerji sərfiyyatı və əla radio performansı, misilsiz batareya ömrü üçün optimallaşdırılıb.
Qeyd: Arm Arm Limited-in (və ya onun törəmə şirkətlərinin) ABŞ və/və ya başqa yerlərdə qeydə alınmış ticarət nişanıdır.
STM32CubeWL3 əsas xüsusiyyətləri
- STM32CubeWL3 MCU Paketi Arm® Cortex®‑M32+ prosessoruna əsaslanan STM32 0-bit mikrokontrollerlər üzərində işləyir. O, bir paketdə STM32WL3x məhsul xətti mikrokontrollerləri üçün proqram hazırlamaq üçün tələb olunan bütün ümumi daxili proqram komponentlərini toplayır.
- Paketə mikrokontroller aparatını əhatə edən aşağı səviyyəli (LL) və aparat abstraksiya qatı (HAL) API-ləri, həmçinin geniş ekspedisiya dəsti daxildir.amples STMicroelectronics lövhələrində işləyir. HAL və LL API-ləri istifadəçinin rahatlığı üçün açıq mənbəli BSD lisenziyasında mövcuddur. Buraya həmçinin Sigfox™, FatFS və FreeRTOS™ kernel ara proqram komponentləri daxildir.
- STM32CubeWL3 MCU Paketi həmçinin onun bütün orta proqram komponentlərini həyata keçirən bir neçə proqram və nümayişi təqdim edir.
- STM32CubeWL3 MCU Paketi komponentinin tərtibatı Şəkil 1-də təsvir edilmişdir.
Şəkil 1. STM32CubeWL3 MCU Paket komponentləri

STM32CubeWL3 arxitekturası bitdiview
STM32CubeWL3 MCU Paket həlli Şəkil 2-də təsvir olunduğu kimi asanlıqla qarşılıqlı əlaqədə olan üç müstəqil səviyyə ətrafında qurulub.
Səviyyə 0
Bu səviyyə üç alt təbəqəyə bölünür:
- Şuraya dəstək paketi (BSP).
- Aparat abstraksiya təbəqəsi (HAL):
- HAL periferik sürücüləri
- Aşağı səviyyəli sürücülər
- Əsas periferik istifadə, məsələnamples.
Şuraya dəstək paketi (BSP)
Bu təbəqə aparat lövhələrindəki aparat komponentlərinə (məsələn, LEDlər, düymələr və COM drayverləri) nisbətən API dəsti təklif edir. O, iki hissədən ibarətdir:
- Komponent:
Bu, STM32-yə deyil, lövhədəki xarici cihaza nisbətən sürücüdür. Komponent sürücüsü BSP drayverinin xarici komponentlərinə xüsusi API təmin edir və istənilən digər lövhədə daşına bilər. - BSP sürücüsü:
Bu, komponent drayverlərini müəyyən bir lövhə ilə əlaqələndirməyə imkan verir və istifadəçi dostu API dəstini təmin edir. API adlandırma qaydası BSP_FUNCT_Action()-dır.
Example: BSP_LED_Init(), BSP_LED_On()
BSP, sadəcə aşağı səviyyəli rutinləri həyata keçirməklə istənilən aparatda asan daşınmaya imkan verən modul arxitekturaya əsaslanır.
Aparat abstraksiya təbəqəsi (HAL) və aşağı qat (LL)
STM32CubeWL3 HAL və LL bir-birini tamamlayır və geniş tətbiq tələblərini əhatə edir:
- HAL sürücüləri yüksək səviyyəli funksiya yönümlü yüksək portativ API təklif edir. MCU və periferik mürəkkəbliyi son istifadəçiyə gizlədirlər.
HAL drayverləri istifadəyə hazır prosesləri təmin etməklə istifadəçi proqramlarının həyata keçirilməsini sadələşdirən ümumi çox instansiya xüsusiyyət yönümlü API təmin edir. məsələnample, kommunikasiya periferiyaları üçün (I2C, UART və başqaları) periferiyanı işə salmağa və konfiqurasiya etməyə, sorğu, kəsmə və ya DMA prosesi əsasında məlumat ötürülməsini idarə etməyə və rabitə zamanı yarana biləcək rabitə xətalarını idarə etməyə imkan verən API təmin edir. HAL sürücü API-ləri iki kateqoriyaya bölünür:
- Bütün STM32 seriyalı mikrokontrollerlərə ümumi və ümumi funksiyaları təmin edən ümumi API-lər.
- Müəyyən bir ailə və ya xüsusi hissə nömrəsi üçün xüsusi və fərdiləşdirilmiş funksiyaları təmin edən genişləndirmə API-ləri.
- Aşağı səviyyəli API-lər daha yaxşı optimallaşdırma, lakin daha az daşınma ilə registr səviyyəsində aşağı səviyyəli API təmin edir. Onlar MCU və periferik spesifikasiyalar haqqında dərin bilik tələb edir.
LL drayverləri HAL-dan daha çox aparata yaxın olan sürətli yüngül ekspert yönümlü təbəqə təklif etmək üçün nəzərdə tutulmuşdur. HAL-dan fərqli olaraq, optimallaşdırılmış girişin əsas xüsusiyyət olmadığı periferiya qurğuları və ya ağır proqram konfiqurasiyası və ya mürəkkəb yuxarı səviyyəli yığın tələb edənlər üçün LL API təmin edilmir.
LL sürücülərinin xüsusiyyətləri:
- Məlumat strukturlarında göstərilən parametrlərə uyğun olaraq periferik əsas xüsusiyyətləri işə salmaq üçün funksiyalar toplusu.
- İnsializasiya məlumat strukturlarını hər bir sahəyə uyğun sıfırlama dəyərləri ilə doldurmaq üçün funksiyalar toplusu.
- Periferik de-inisializasiya funksiyası (periferik registrlər standart dəyərlərinə qaytarılır).
- Birbaşa və atom registrinə daxil olmaq üçün daxili funksiyalar dəsti.
- HAL-dan tam müstəqillik və müstəqil rejimdə istifadə etmək imkanı (HAL sürücüləri olmadan).
- Dəstəklənən periferik funksiyaların tam əhatəsi.
Əsas periferik istifadə, məsələnamples
Bu təbəqə keçmişi əhatə edirampyalnız HAL və BSP resurslarından istifadə edərək STM32 periferiyaları üzərində qurulmuşdur.
Nümayiş məsamples daha mürəkkəb ex göstərmək üçün də mövcuddurampMRSUBG və LPAWUR kimi xüsusi periferik qurğularla ssenarilər.
Səviyyə 1
Bu səviyyə iki alt təbəqəyə bölünür:
- Orta proqram komponentləri
- Examporta proqram komponentlərinə əsaslanır
Orta proqram komponentləri
Ara proqram FreeRTOS™ nüvəsini, FatFS və Sigfox™ protokol kitabxanasını əhatə edən kitabxanalar toplusudur. Bu təbəqənin komponentləri arasında üfüqi qarşılıqlı əlaqə seçilmiş API-ləri çağırmaqla həyata keçirilir.
Aşağı səviyyəli drayverlərlə şaquli qarşılıqlı əlaqə kitabxana sisteminin zəng interfeysində həyata keçirilən xüsusi geri çağırışlar və statik makrolar vasitəsilə həyata keçirilir.
Hər bir orta proqram komponentinin əsas xüsusiyyətləri aşağıdakılardır:
- FreeRTOS™ nüvəsi: quraşdırılmış sistemlər üçün nəzərdə tutulmuş real vaxt əməliyyat sistemini (RTOS) həyata keçirir.
- Sigfox™: Sigfox™ protokol şəbəkəsinə uyğun olan Sigfox™ protokol kitabxanasını həyata keçirir və RF Sigfox™ alətlərinə qarşı sınaqdan keçirmək üçün RF test protokolu kitabxanasını ehtiva edir.
- FatFS: ümumi FAT tətbiq edir file sistem modulu.
Examporta proqram komponentlərinə əsaslanır
Hər bir orta proqram komponenti bir və ya daha çox köhnə ilə gəliramples, həmçinin tətbiqlər adlanır və necə istifadə ediləcəyini göstərir. İnteqrasiya məsampbir neçə ara proqram komponentindən istifadə edən proqramlar da təqdim olunur.
STM32CubeWL3 proqram təminatı paketi bitdiview
Dəstəklənən STM32WL3x cihazları və aparatı
STM32Cube ümumi arxitektura ətrafında qurulmuş yüksək portativ aparat abstraksiya qatını (HAL) təklif edir. Bu, MCU-nun nədən istifadə edildiyini bilmədən öz funksiyalarını həyata keçirmək üçün ara proqram qatından istifadə etmək kimi qatların qurulması prinsipinə imkan verir. Bu, kitabxana kodunun təkrar istifadəsini yaxşılaşdırır və digər cihazlara asan daşınmasını təmin edir.
- Bundan əlavə, laylı arxitekturası ilə STM32CubeWL3 bütün STM32WL3x məhsul xətti üçün tam dəstək təklif edir.
- İstifadəçi yalnız stm32wl3x.h-də düzgün makronu müəyyən etməlidir.
Cədvəl 1 istifadə edilən STM32WL3x məhsul xətti cihazından asılı olaraq müəyyən ediləcək makronu göstərir. Bu makro kompilyator preprosessorunda da müəyyən edilməlidir.
Cədvəl 1. STM32WL3x məhsul xətti üçün makrolar
| Makro ilə müəyyən edilmişdir stm32wl3x.h | STM32WL3x məhsul xətti cihazları |
| stm32wl33 | STM32WL33xx mikro nəzarətçiləri |
STM32CubeWL3 zəngin keçmiş dəstinə malikdirampbütün səviyyələrdə les və proqramlar, hər hansı HAL sürücüsünü və ya ara proqram komponentlərini başa düşməyi və istifadə etməyi asanlaşdırır. Bunlar keçmişampCədvəl 2-də sadalanan STMicroelectronics lövhələrində işləyir.
| Şura | STM32WL3x board dəstəklənən cihazlar |
| NÜKLEO-WL33CC1 | STM32WL33CC |
| NÜKLEO-WL33CC2 | STM32WL33CC |
STM32CubeWL3 MCU Paketi istənilən uyğun aparatda işləyə bilər. İstifadəçilər sadəcə olaraq BSP sürücülərini təqdim olunan köhnə portu yeniləyirlərampeyni aparat xüsusiyyətlərinə (məsələn, LED-lər və ya düymələr) malik olduqda, lövhələrindəki les.
Mikroproqram paketi bitdiview
STM32CubeWL3 MCU Paket həlli Şəkil 3-də göstərilən struktura malik bir tək zip paketində təqdim olunur.
Şəkil 3. STM32CubeWL3 mikroproqram paketinin strukturu

Diqqət:
İstifadəçi komponentləri dəyişdirməməlidir files. İstifadəçi yalnız \Projects mənbələrini redaktə edə bilər.
Hər bir lövhə üçün bir sıra köhnəamples EWARM, MDK-ARM və STM32CubeIDE alət zəncirləri üçün əvvəlcədən konfiqurasiya edilmiş layihələrlə təmin edilir.
Şəkil 4 NUCLEO-WL33CCx lövhələri üçün layihə strukturunu göstərir. 
keçmişamples tətbiq etdikləri STM32CubeWL3 səviyyəsindən asılı olaraq təsnif edilir. Onlar aşağıdakı kimi adlanır:
- Səviyyə 0 keçmişamples Ex adlanıramples, məsamples_LL və Examples_MIX. Onlar müvafiq olaraq HAL drayverlərindən, LL drayverlərindən və heç bir ara proqram komponenti olmayan HAL və LL drayverlərinin qarışığından istifadə edirlər. Nümayiş məsamples də mövcuddur.
- Səviyyə 1 keçmişamples Proqramlar adlanır. Onlar hər bir ara proqram komponentinin tipik istifadə hallarını təmin edir.
Verilmiş lövhə üçün hər hansı proqram təminatı proqramı Templ ates və Templates_LL qovluqlarında mövcud olan şablon layihələrindən istifadə etməklə tez bir zamanda hazırlana bilər.
Examples, məsamples_LL və Examples_MIX eyni quruluşa malikdir:
- Bütün başlığı ehtiva edən \Inc qovluğu files.
- Mənbə kodu olan \Src qovluğu.
- \EWARM, \MDK-ARM və \STM32CubeIDE qovluqları hər alət silsiləsi üçün əvvəlcədən konfiqurasiya edilmiş layihəni ehtiva edir.
- readme.md və readme.html köhnəni təsvir edirample davranış və onun işləməsi üçün lazım olan mühit.
STM32CubeWL3 ilə işə başlayın
İlk keçmişi idarə etməkample
Bu bölmə ilk keçmişi işə salmağın nə qədər sadə olduğunu izah edirampSTM32CubeWL3 daxilində. O, nümunə olaraq NUCLEO-WL33CC1 lövhəsində işləyən sadə LED keçidinin yaradılmasından istifadə edir:
- STM32CubeWL3 MCU Paketini endirin.
- Onu çıxarın və ya quraşdırıcını seçdiyiniz kataloqa daxil edin.
- Şəkil 3-də göstərilən paket strukturunu dəyişdirmədiyinizə əmin olun. STM32CubeWL3 mikroproqram paketinin strukturu. Nəzərə alın ki, paketi kök həcminə (C:\ST və ya G:\Testlər deməkdir) yaxın yerə köçürmək də tövsiyə olunur, çünki bəzi IDE-lər yol çox uzun olduqda problemlərlə qarşılaşır.
HAL keçmişini necə idarə etmək olarample
Keçmişi yükləmədən və işə salmadan əvvəlample, keçmişi oxumaq şiddətlə tövsiyə olunurample readme file hər hansı bir xüsusi konfiqurasiya üçün.
- \Projects\NUCLEO-WL33CC\Məsamples.
- \GPIO, sonra \GPIO_EXTI qovluqlarını açın.
- Layihəni üstünlük verilən alətlər silsiləsi ilə açın. Tez bitdiview keçmişi necə açmaq, qurmaq və idarə etmək haqqındaample dəstəklənən alət zəncirləri ilə aşağıda verilmişdir.
- Hamısını yenidən qurun files və təsviri hədəf yaddaşa yükləyin.
- Keçmişi işə salınample. Daha ətraflı məlumat üçün keçmişə baxınample readme file.
Keçmişi açmaq, qurmaq və idarə etmək üçünampDəstəklənən alət zəncirlərinin hər biri ilə aşağıdakı addımları yerinə yetirin:
- EWARM:
- Ex altındaamples qovluğunda \EWARM alt qovluğunu açın.
- Project.eww iş sahəsini işə salın (iş sahəsinin adı əvvəlkindən dəyişə bilərampbaşqasına).
- Hamısını yenidən qurun files: [Layihə]> [Hamısını yenidən qurun].
- Layihə şəklini yükləyin: [Project]>[Debug].
- Proqramı işə salın: [Debug]>[Go (F5)].
- MDK-ARM:
- Ex altındaamples qovluğunda \MDK-ARM alt qovluğunu açın.
- Project.uvproj iş yerini açın (iş sahəsinin adı əvvəlkindən dəyişə bilərampbaşqasına).
- Hamısını yenidən qurun files: [Layihə]>[Bütün hədəfləri yenidən qurun files].
- Layihə şəklini yükləyin: [Debug]>[Start/Stop Debug Session].
- Proqramı işə salın: [Debug]>[Run (F5)].
- STM32CubeIDE:
- STM32CubeIDE alət zəncirini açın.
- Basın [File]>[İş sahəsini dəyişdirin]>[Digər] və STM32CubeIDE iş sahəsi kataloquna baxın.
- Basın [File]>[İdxal], [Ümumi]>[İş Məkanında Mövcud Layihələr] seçin və sonra [Növbəti] klikləyin.
- STM32CubeIDE iş sahəsi kataloquna göz atın və layihəni seçin.
- Bütün layihəni yenidən qurun files: Project Explorer pəncərəsində layihəni seçin və üzərinə klikləyin
[Layihə]>[Layihə qurmaq] menyusu. - Proqramı işə salın: [Run]>[Debug (F11)].
Fərdi tətbiqin hazırlanması
Proqramı inkişaf etdirmək və ya yeniləmək üçün STM32CubeMX-dən istifadə
STM32Cube MCU Paketində, demək olar ki, bütün layihə keçmişdiramples sistemi, periferiya qurğuları və ara proqram təminatını işə salmaq üçün STM32CubeMX aləti ilə yaradılır.
Mövcud layihənin birbaşa istifadəsi, məsələnampSTM32CubeMX alətindən STM32CubeMX 6.12.0 və ya daha yüksək versiya tələb olunur:
- STM32CubeMX quraşdırıldıqdan sonra təklif olunan layihəni açın və lazım olduqda yeniləyin.
Mövcud layihəni açmağın ən sadə yolu *.ioc üzərinə iki dəfə klikləməkdir file belə ki, STM32CubeMX avtomatik olaraq layihəni və onun mənbəyini açır files. STM32CubeMX bu cür layihələrin başlanğıc kodunu yaradır. - Əsas proqram mənbə kodu “USER CODE BEGIN” və “USER CODE END” şərhlərindən ibarətdir. Əgər periferik seçim və parametrlər dəyişdirilərsə, STM32CubeMX əsas proqram mənbə kodunu qoruyaraq kodun başlanğıc hissəsini yeniləyir.
STM32CubeMX ilə fərdi layihə hazırlamaq üçün addım-addım prosesi izləyin:
- Pinout-konflikt həlledicisi, saat ağacının qurulması köməkçisi, enerji istehlakı kalkulyatoru və MCU periferik konfiqurasiyasını həyata keçirən yardım proqramından (məsələn, GPIO və ya USART) istifadə edərək bütün lazımi daxil edilmiş proqram təminatını konfiqurasiya edin.
- Seçilmiş konfiqurasiyaya əsasən başlatma C kodunu yaradın. Bu kod bir neçə inkişaf mühitində istifadəyə hazırdır. İstifadəçi kodu növbəti kod generasiyasında saxlanılır.
STM32CubeMX haqqında ətraflı məlumat üçün STM32 konfiqurasiyası və başlanğıc C kodunun yaradılması (UM32) üçün STM1718CubeMX istifadəçi təlimatına baxın.
Sürücü proqramları
HAL tətbiqi
Bu bölmə STM32CubeWL3 istifadə edərək fərdi HAL tətbiqi yaratmaq üçün tələb olunan addımları təsvir edir:
- Layihə yaradın
Yeni layihə yaratmaq üçün \Projects\< STM32xxx_yyy>\Templates altında hər bir lövhə üçün nəzərdə tutulmuş Şablon layihəsindən və ya \Projects\ altında mövcud olan hər hansı layihədən başlayın. \Məsampl es və ya \Layihələr\ \Tətbiqlər (harada şuranın adına aiddir). Şablon layihəsi boş əsas döngə funksiyasını təmin edir. Bununla belə, STM32CubeWL32 layihə parametrlərini başa düşmək üçün yaxşı başlanğıc nöqtəsidir. Şablon aşağıdakı xüsusiyyətlərə malikdir:- O, HAL mənbə kodunu, CMSIS və BSP sürücülərini ehtiva edir ki, bu da verilmiş lövhədə kodu hazırlamaq üçün tələb olunan minimum komponentlər dəstidir.
- O, bütün proqram təminatı komponentləri üçün daxil edilmiş yolları ehtiva edir.
- O, dəstəklənən STM32WL3x məhsul xətti cihazlarını müəyyən edir, CMSIS və HAL sürücülərini düzgün şəkildə konfiqurasiya etməyə imkan verir.
- İstifadəyə hazır istifadəçini təmin edir files aşağıda göstərildiyi kimi əvvəlcədən konfiqurasiya edilmişdir:
- HAL Arm® əsas SysTick ilə standart vaxt bazası ilə işə salındı.
- SysTick ISR HAL_Delay() məqsədi ilə həyata keçirilir.
Qeyd: Mövcud layihəni başqa yerə köçürərkən, daxil edilmiş bütün yolların yeniləndiyinə əmin olun.
- Firmware komponentlərini konfiqurasiya edin
HAL və ara proqram komponentləri başlıqda elan edilmiş #define makrolarından istifadə edərək bir sıra qurma vaxtı konfiqurasiya seçimləri təklif edir. file. Şablon konfiqurasiyası file layihə qovluğuna (adətən konfiqurasiya file xxx_conf_template.h adlanır, _template fraqmenti layihə qovluğuna kopyalanarkən silinməlidir). Konfiqurasiya file hər bir konfiqurasiya variantının təsirini başa düşmək üçün kifayət qədər məlumat verir. Daha ətraflı məlumat hər bir komponent üçün təqdim olunan sənədlərdə mövcuddur. - HAL kitabxanasını işə salın
Əsas proqrama keçid etdikdən sonra proqram kodu HAL kitabxanasını işə salmaq üçün HAL_Init() API-yə zəng etməlidir ki, bu da aşağıdakı vəzifələri yerinə yetirir:- Fləş yaddaşın əvvəlcədən gətirilməsi və SysTick kəsmə prioritetinin konfiqurasiyası (stm3 2wl3x_hal_conf.h-də müəyyən edilmiş makrolar vasitəsilə).
- stm32wl3x_hal_conf.h-də müəyyən edilmiş TICK_INT_PRIO SysTick kəsmə prioritetində hər millisaniyədə kəsilmə yaratmaq üçün SysTick-in konfiqurasiyası.
- NVIC qrupunun prioritetinin 0-a təyin edilməsi.
- stm32wl3x_hal_msp.c istifadəçisində müəyyən edilmiş HAL_MspInit() geri çağırış funksiyasının çağırışı file qlobal aşağı səviyyəli aparat başlatmalarını yerinə yetirmək üçün.
- Sistem saatını konfiqurasiya edin
Sistem saatının konfiqurasiyası aşağıda təsvir olunan iki API-yə zəng etməklə həyata keçirilir:- HAL_RCC_OscConfig(): bu API daxili və xarici osilatorları konfiqurasiya edir. İstifadəçi bir və ya bütün osilatorları konfiqurasiya etməyi seçir.
- HAL_RCC_ClockConfig(): bu API sistem saatının mənbəyini, fləş yaddaş gecikməsini və AHB və APB preskalerlərini konfiqurasiya edir.
- Periferiyanı işə salın
- Əvvəlcə periferik başlatma funksiyasını yazın. Aşağıdakı kimi davam edin:
- Periferik saatı aktivləşdirin.
- Periferik GPIO-ları konfiqurasiya edin.
- DMA kanalını konfiqurasiya edin və DMA kəsilməsini aktivləşdirin (lazım olduqda).
- Periferik fasiləni aktivləşdirin (lazım olduqda).
- Lazım gələrsə, tələb olunan kəsmə idarəçilərini (periferik və DMA) çağırmaq üçün stm32xxx_it.c-ni redaktə edin.
- Əgər periferik kəsmə və ya DMA istifadə edilmək nəzərdə tutulursa, proses tam geri çağırış funksiyalarını yazın.
- İstifadəçidə main.c file, periferik tutacaq strukturunu işə salın, sonra periferiyanı işə salmaq üçün periferik başlatma funksiyasını çağırın.
- Tətbiq hazırlayın
Bu stage, sistem hazırdır və istifadəçi proqram kodunun hazırlanması başlaya bilər.
HAL periferiyanı konfiqurasiya etmək üçün intuitiv və istifadəyə hazır API təmin edir. İstənilən tətbiq tələblərini yerinə yetirmək üçün sorğu, fasilələr və DMA proqramlaşdırma modelini dəstəkləyir. Hər bir periferik cihazın necə istifadə ediləcəyi haqqında ətraflı məlumat üçün zəngin keçmişə baxınample dəsti STM32CubeWL3 MCU Paketində təqdim olunur.
Diqqət:
Standart HAL tətbiqində, SysTick taymeri vaxt bazası kimi istifadə olunur: o, müntəzəm vaxt intervallarında fasilələr yaradır. Əgər HAL_Delay() periferik ISR prosesindən çağırılırsa, əmin olun ki, SysTick kəsilməsi periferik kəsmə ilə müqayisədə daha yüksək prioritetə (rəqəm baxımından aşağı) malikdir. Əks halda, zəng edən ISR prosesidir
bloklanıb. Vaxt bazası konfiqurasiyalarına təsir edən funksiyalar, istifadəçinin digər tətbiqləri zamanı ləğvi mümkün etmək üçün __zəif kimi elan edilir. file (ümumi təyinatlı taymerdən istifadə etməklə, məsələnample və ya başqa vaxt mənbəyi).
Ətraflı məlumat üçün HAL_TimeBase keçmişinə baxınample.
LL tətbiqi
Bu bölmə STM32CubeWL3 istifadə edərək fərdi LL tətbiqi yaratmaq üçün lazım olan addımları təsvir edir.
- Layihə yaradın
Yeni layihə yaratmaq üçün ya \Projects\ altında hər bir lövhə üçün nəzərdə tutulmuş Templates_LL layihəsindən başlayın. \Templates_LL və ya \Projects\ altında mövcud olan hər hansı layihədən \E xamples_LL ( NUCLEO-WL32CC33 kimi lövhə adına aiddir).
Şablon layihəsi STM32CubeWL3 üçün layihə parametrlərini başa düşmək üçün yaxşı başlanğıc nöqtəsi olan boş əsas döngə funksiyasını təmin edir. Şablonun əsas xüsusiyyətləri aşağıdakılardır:- O, verilmiş lövhədə kodu inkişaf etdirmək üçün lazım olan minimum komponentlər dəsti olan LL və CMSIS sürücülərinin mənbə kodlarını ehtiva edir.
- O, bütün tələb olunan proqram təminatı komponentləri üçün daxil edilmiş yolları ehtiva edir.
- O, dəstəklənən STM32WL3x məhsul xətti cihazını seçir və CMSIS və LL sürücülərinin düzgün konfiqurasiyasına imkan verir.
- İstifadəyə hazır istifadəçini təmin edir files aşağıdakı kimi əvvəlcədən konfiqurasiya edilmişdir:
- main.h: LED və USER_BUTTON tərifi abstraksiya təbəqəsi.
- main.c: Maksimum tezlik üçün sistem saatı konfiqurasiyası.
- LL ex portample:
- İlkin mənbəni saxlamaq üçün Templates_LL qovluğunu kopyalayın/yapışdırın və ya mövcud Templa tes_LL layihəsini birbaşa yeniləyin.
- Sonra daşınma əsasən Templates_LL-nin dəyişdirilməsindən ibarətdir files tərəfindən Examples_LL hədəflənmiş layihə.
- Bütün lövhənin xüsusi hissələrini saxlayın. Aydınlıq üçün lövhənin xüsusi hissələri xüsusi ilə işarələnir tags:

Beləliklə, əsas daşıma addımları aşağıdakılardır:
- stm32wl3x_it.h dəyişdirin file.
- stm32wl3x_it.c-ni dəyişdirin file.
- Əsas.h dəyişdirin file və onu yeniləyin: LL şablonunun LED və istifadəçi düymələrinin tərifini BOARD SPECIFIC CONFIGURATION altında saxlayın tags.
- Əsası dəyişdirin.c file və yeniləyin:
- SystemClock_Config() LL şablon funksiyasının saat konfiqurasiyasını BOARD XÜSUSİ KONFIQURASIYA altında saxlayın tags.
- LED tərifindən asılı olaraq, hər bir LDx hadisəsini burada mövcud olan başqa LDy ilə əvəz edin file əsas.h.
Bu dəyişikliklərlə, keçmişample hədəf lövhədə qaçır.
RF tətbiqləri, nümayişlər və samples
Müxtəlif növ RF tətbiqləri, nümayişlər və samples STM32CubeWL3 paketində mövcuddur. Onlar aşağıdakı iki bölmədə verilmişdir.
Sub-GHz məsələnamples və nümayişlər
Bunlar keçmişamples MRSUBG və LPAWUR radio periferiyalarının əsas xüsusiyyətlərini nümayiş etdirir. Bunlar keçmişamples altında mövcuddur:
- Layihələr\NUCLEO-WL33CC\Məsamples\MRSUBG
- Layihələr\NUCLEO-WL33CC\Məsamples\LPAWUR
- Layihələr\NUCLEO-WL33CC\Nümayişlər\MRSUBG
- Layihələr \ NUCLEO-WL33CC \ Nümayişlər \ LPAWUR
Hər bir keçmişample və ya nümayiş ümumiyyətlə Tx və Rx adlı iki proqramdan ibarətdir, müvafiq olaraq ötürücü və qəbuledici rolunu oynayır:
- Examples/MRSUBG
- MRSUBG_802_15_4: 802.15.4 standartı ilə müəyyən edilmiş fiziki təbəqənin tətbiqi. Bu, 802.15.4 paketlərini ötürmək və ya qəbul etmək üçün radionun necə konfiqurasiya olunacağını göstərir.
- MRSUBG_BasicGeneric: STM32WL3x MR_SUBG əsas paketlərinin mübadiləsi.
- MRSUBG_Chat: Tx və Rx-in eyni cihazda necə istifadə olunacağını göstərən sadə proqram.
- MRSUBG_DatabufferHandler: Keçmişample Databuffer 0 və 1-dən necə dəyişdiriləcəyini göstərir.
- MRSUBG_Sequencer AutoAck: Məsamppaket təsdiqini (ACK) avtomatik ötürən və qəbul edən le.
- MRSUBG_WMBusSTD: WM-Bus mesajlarının mübadiləsi.
- WakeupRadio: Keçmişample LPAWUR radio periferiyasını sınamaq üçün.
- Nümayişlər/MRSUBG
- MRSUBG_RTC_Button_TX: Bu məsələnample, SoC-nin dərin dayanma rejimində necə qurulacağını və çərçivə göndərmək üçün PB2 düyməsini basaraq və ya RTC taymerinin müddəti bitdikdən sonra SoC-ni oyatmaq üçün MRSUBG-ni necə konfiqurasiya edəcəyinizi göstərir.
- MRSUBG_Sequencer_Sniff: Bu məsələnample MRSUBG sequencerinin iyləmə rejimində işləməsi üçün necə qurulacağını göstərir. Bu keçmişample qəbuledici tərəfi nümayiş etdirir və ötürücü kimi başqa cihaz tələb edir.
- MRSUBG_Timer: Tətbiq müxtəlif vaxt intervalları ilə MRSUBG taymerinin bir neçə nümunəsini (avtomatik yükləmə ilə) planlaşdırır.
- MRSUBG_WakeupRadio_Tx: Bu məsələnample SoC-ni dərin dayanma rejimində necə qurmağı və çərçivə göndərmək üçün PB2 düyməsini basaraq SoC-ni oyatmaq üçün MRSUBG-ni necə konfiqurasiya etməyi izah edir. Bu keçmişample ötürücü tərəfi nümayiş etdirir və LPAWUR qəbuledicisi kimi başqa cihaz tələb edir. Qəbuledici keçmişample NUCLEO-WL33CC\Demonstrations\LPAWUR\LPAWUR_WakeupRad io_Rx qovluğunun altında yerləşir.
- Nümayişlər/LPAWUR
- LPAWUR_WakeupRadio_Rx: Bu məsələnample SoC-ni dərin dayanma rejimində qurmaq və çərçivə gələndə və düzgün qəbul edildikdə SoC-ni oyatmaq üçün LPAWUR-u necə konfiqurasiya etməyi izah edir. Bu keçmişample qəbuledici tərəfi nümayiş etdirir və ötürücü kimi başqa cihaz tələb edir. Ötürücü example NUCLEO-WL33CC\Demonstrations\MRSUBG\MRSUBG_WakeupRad io_Tx qovluğunun altında yerləşir.
Sigfox™ tətbiqi
Bu proqramlar Sigfox™ ssenarisini necə həyata keçirməyi və mövcud Sigfox™ API-lərdən istifadə etməyi göstərir. Onlar Projects\NUCLEO-WL33CC\Applications\Sigfox\ layihə yolunda mövcuddur:
- Sigfox_CLI: Bu proqram mesajlar göndərmək və ilkin sertifikatlaşdırma testlərini yerinə yetirmək üçün Sigfox™ protokolundan istifadə edən əmrləri göndərmək üçün komanda xətti interfeysindən (CLI) necə istifadə olunacağını göstərir.
- Sigfox_PushButton: Bu proqram STM32WL33xx Sigfox™ cihazının radio imkanlarının qiymətləndirilməsinə imkan verir. PB1 düyməsini sıxmaq sınaq Sigfox™ çərçivəsini ötürür.
Tez-tez verilən suallar
- LL sürücülərinin əvəzinə HAL-dan nə vaxt istifadə etməliyəm?
HAL sürücüləri yüksək səviyyəli daşınma qabiliyyəti ilə yüksək səviyyəli və funksiya yönümlü API təklif edir. Məhsul və ya periferik mürəkkəblik son istifadəçilər üçün gizlidir.
LL sürücüləri daha yaxşı optimallaşdırma ilə, lakin daha az portativ olan aşağı səviyyəli registr səviyyəli API təklif edir. Onlar məhsul və ya IP spesifikasiyası haqqında dərin bilik tələb edir. - HAL və LL sürücüləri birlikdə istifadə edilə bilərmi? Əgər belədirsə, məhdudiyyətlər nələrdir?
Həm HAL, həm də LL sürücülərindən istifadə etmək mümkündür. Periferik başlatma mərhələsi üçün HAL-dan istifadə edin və sonra LL sürücüləri ilə I/O əməliyyatlarını idarə edin.
HAL və LL arasındakı əsas fərq ondan ibarətdir ki, HAL sürücüləri əməliyyat idarəsi üçün tutacaqlar yaratmalı və istifadə etməlidirlər, halbuki LL sürücüləri birbaşa periferik registrlərdə işləyir. HAL və LL-nin qarışdırılması Examples_MIX məsamples. - LL başlatma API-ləri necə aktivləşdirilir?
LL başlatma API-lərinin və əlaqəli resursların (strukturlar, literallar və prototiplər) tərifi USE_FULL_LL_DRIVER kompilyasiya keçidi ilə şərtlənir.
LL başlatma API-lərindən istifadə etmək üçün bu keçidi alətlər silsiləsi kompilyatorunun preprosessoruna əlavə edin. - MRSUBG/LPAWUR periferik üçün hər hansı bir şablon layihəsi varmı, məsələnamples?
Yeni MRSUBG və ya LPAWUR yaratmaq üçün keçmişampLayihə üçün ya \Pr ojects\NUCLEO-WL33CC\Ex altında təqdim olunan skelet layihəsindən başlayınamples\MRSUBG və ya \Projects\NUCLEO-WL33CC\Məsamples\LPAWUR və ya bu eyni kataloqlar altında mövcud olan hər hansı layihədən. - STM32CubeMX quraşdırılmış proqram təminatı əsasında kodu necə yarada bilər?
STM32CubeMX istifadəçiyə qrafik təsviri təqdim etməyə və *.h və ya *.c yaratmağa imkan verən ətraf qurğular və proqram təminatı da daxil olmaqla STM32 mikrokontrollerləri haqqında daxili biliyə malikdir. files istifadəçinin konfiqurasiyasına əsaslanır.
Təftiş tarixi
Cədvəl 3. Sənədin təftiş tarixi
| Tarix | Reviziya | Dəyişikliklər |
| 29 mart 2024-ci il | 1 | İlkin buraxılış. |
| 30-2024 oktyabr | 2 | Tam inteqrasiyası STM32CubeWL3 in STM32Cube. Yenilənib:
Silindi:
|
Sənədlər / Resurslar
![]() |
ST STM32WL3x Proqram Paketi [pdf] Təlimatlar STM32WL3x Proqram Paketi, STM32WL3x, Proqram Paketi, Paket |





