STM32WL3x Yazılım Paketi

Özellikler
- Ürün Adı: STM32CubeWL3 yazılım paketi
- Uyumluluk: STM32WL3x mikrodenetleyiciler
- Başlıca Özellikler:
- Düşük katman (LL) ve donanım soyutlama katmanı (HAL) API'leri
- SigfoxTM, FatFS ve FreeRTOSTM çekirdek ara yazılım bileşenleri
- Uygulamalar ve gösteriler
Ürün Kullanım Talimatları
Başlarken
STM32CubeWL3 yazılım paketini kullanmaya başlamak için şu adımları izleyin:
- Yazılım paketini resmi web sitesinden indirin webalan.
- Gerekli geliştirme ortamını yükleyin (örneğin STM32CubeIDE, EWARM, MDK-ARM).
- Eskiye bakınampRehberlik amacıyla dosyalar ve uygulamalar sağlanmıştır.
STM32CubeWL3 Mimarisi Üzerineview
STM32CubeWL3 yazılım paketi üç ana seviye etrafında oluşturulmuştur
- Seviye 0: Donanım soyutlama katmanı (HAL) ve BSP sürücüleri.
- Seviye 1: Uygulamalar, kütüphaneler ve protokol tabanlı bileşenler.
Sıkça Sorulan Sorular (SSS)
S: STM32CubeWL3 yazılım paketinin temel özellikleri nelerdir?
A: Temel özellikleri arasında düşük katman ve HAL API'leri, SigfoxTM, FatFS, FreeRTOSTM çekirdeği gibi ara yazılım bileşenleri, uygulamalar ve gösterimler yer alıyor.
giriiş
STM32Cube, geliştirme çabasını, zamanı ve maliyeti azaltarak tasarımcı üretkenliğini önemli ölçüde artırmayı amaçlayan bir STMicroelectronics orijinal girişimidir. STM32Cube, STM32 portföyünün tamamını kapsar.
STM32Cube şunları içerir:
- Proje geliştirmeyi kavramsallaştırmadan gerçekleştirmeye kadar kapsayan, kullanıcı dostu yazılım geliştirme araçları seti, bunlar arasında şunlar yer almaktadır:
- STM32CubeMX, grafik sihirbazları kullanarak otomatik C başlatma kodunun oluşturulmasına izin veren bir grafik yazılım yapılandırma aracı
- STM32CubeIDE, çevresel yapılandırma, kod oluşturma, kod derleme ve hata ayıklama özelliklerine sahip hepsi bir arada geliştirme aracı
- STM32CubeCLT, kod derleme, kart programlama ve hata ayıklama özelliklerine sahip hepsi bir arada komut satırı geliştirme araç seti
- STM32CubeProgrammer (STM32CubeProg), grafik ve komut satırı sürümlerinde bulunan bir programlama aracı
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), STM32 uygulamalarının davranışına ve performansına gerçek zamanlı olarak ince ayar yapmak için güçlü izleme araçları
- STM32Cube MCU ve MPU Paketleri, her mikrodenetleyici ve mikroişlemci serisine özgü (örneğin STM32WL3x ürün grubu için STM32CubeWL3) kapsamlı gömülü yazılım platformları olup şunları içerir:
- STM32 portföyünde maksimum taşınabilirlik sağlayan STM32Cube donanım soyutlama katmanı (HAL)
- STM32Cube alt katman API'leri, donanım üzerinde yüksek düzeyde kullanıcı kontrolüyle en iyi performansı ve ayak izlerini garanti eder
- FreeRTOS™ çekirdeği, FatFS ve Sigfox™ gibi tutarlı bir ara yazılım bileşenleri kümesi
- Tam çevresel ve uygulamalı ex setleri ile tüm gömülü yazılım yardımcı programlarıamples
- STM32Cube MCU ve MPU Paketlerinin işlevlerini aşağıdakilerle tamamlayan gömülü yazılım bileşenlerini içeren STM32Cube Genişletme Paketleri:
-
- Ara katman uzantıları ve uygulama katmanları
- Exampbazı belirli STMicroelectronics geliştirme kartlarında çalışan dosyalar
Bu kullanıcı kılavuzu STM32CubeWL3 MCU Paketini kullanmaya nasıl başlayacağınızı açıklamaktadır.
Bölüm 2, STM32CubeWL3'ün temel özelliklerini açıklar ve Bölüm 3, genel bir bakış sağlarview mimarisinin ve MCU Paket yapısının.
Genel bilgi
STM32CubeWL3, Arm® Cortex®‑M32+ işlemciye dayalı STM3WL0x ürün serisi mikrodenetleyicilerinde Sigfox™ ikili dosyaları da dahil olmak üzere alt-GHz gösteri uygulamalarını çalıştırır.
STM32WL3x mikrodenetleyicileri, benzersiz pil ömrü için ultra düşük güç tüketimi ve mükemmel radyo performansı için optimize edilmiş, STMicroelectronics'in son teknoloji ürünü sub-GHz uyumlu RF radyo çevre birimini barındırır.
Not: Arm, Arm Limited'in (veya bağlı şirketlerinin) ABD'de ve/veya başka bir yerde tescilli ticari markasıdır.
STM32CubeWL3'ün temel özellikleri
- STM32CubeWL3 MCU Paketi, Arm® Cortex®‑M32+ işlemciye dayalı STM32 0-bit mikrodenetleyicilerde çalışır. STM32WL3x ürün serisi mikrodenetleyiciler için bir uygulama geliştirmek için gereken tüm genel gömülü yazılım bileşenlerini tek bir pakette toplar.
- Paket, mikrodenetleyici donanımını kapsayan düşük katman (LL) ve donanım soyutlama katmanı (HAL) API'lerinin yanı sıra kapsamlı bir örnek kümesini içerir.ampSTMicroelectronics kartlarında çalışan les. HAL ve LL API'leri kullanıcı kolaylığı için açık kaynaklı bir BSD lisansı olarak mevcuttur. Ayrıca Sigfox™, FatFS ve FreeRTOS™ çekirdek ara yazılım bileşenlerini de içerir.
- STM32CubeWL3 MCU Paketi ayrıca tüm ara yazılım bileşenlerini uygulayan çeşitli uygulamalar ve gösteriler sağlar.
- STM32CubeWL3 MCU Paketi bileşen düzeni Şekil 1'de gösterilmektedir.
Şekil 1. STM32CubeWL3 MCU Paketi bileşenleri

STM32CubeWL3 mimarisi üzerindeview
STM32CubeWL3 MCU Paketi çözümü, Şekil 2'de açıklandığı gibi kolayca etkileşime giren üç bağımsız seviye etrafında oluşturulmuştur.
Seviye 0
Bu seviye üç alt katmana ayrılmıştır:
- Yönetim Kurulu destek paketi (BSP).
- Donanım soyutlama katmanı (HAL):
- HAL çevre birimi sürücüleri
- Düşük katmanlı sürücüler
- Temel çevre birimi kullanımı (örn.amples.
Yönetim Kurulu destek paketi (BSP)
Bu katman, donanım kartlarındaki donanım bileşenlerine (LED'ler, düğmeler ve COM sürücüleri gibi) göre bir dizi API sunar. İki bölümden oluşur:
- Bileşen:
Bu, karttaki harici cihaza göre sürücüdür ve STM32'ye göre değildir. Bileşen sürücüsü, BSP sürücü harici bileşenlerine özel API'ler sağlar ve herhangi bir diğer kartta taşınabilir olabilir. - BSP sürücüsü:
Bileşen sürücülerinin belirli bir karta bağlanmasına olanak tanır ve bir dizi kullanıcı dostu API sağlar. API adlandırma kuralı BSP_FUNCT_Action()'dır.
Exampdosya: BSP_LED_Init(), BSP_LED_On()
BSP, yalnızca düşük seviyeli rutinleri uygulayarak herhangi bir donanıma kolay taşıma olanağı sağlayan modüler bir mimariye dayanmaktadır.
Donanım soyutlama katmanı (HAL) ve düşük katman (LL)
STM32CubeWL3 HAL ve LL birbirini tamamlar ve geniş bir uygulama gereksinimi yelpazesini kapsar:
- HAL sürücüleri, üst düzey işlev odaklı, yüksek düzeyde taşınabilir API'ler sunar. MCU'yu ve çevresel karmaşıklığı son kullanıcıya gizlerler.
HAL sürücüleri, kullanıma hazır süreçler sağlayarak kullanıcı uygulama uygulamasını basitleştiren genel çok örnekli özellik odaklı API'ler sağlar. Örneğinample, iletişim çevre birimleri (I2C, UART ve diğerleri) için, çevre birimini başlatmaya ve yapılandırmaya, veri aktarımını yoklama, kesinti veya DMA işlemine göre yönetmeye ve iletişim sırasında ortaya çıkabilecek iletişim hatalarını ele almaya olanak tanıyan API'ler sağlar. HAL sürücü API'leri iki kategoriye ayrılır:
- Tüm STM32 serisi mikro denetleyicilere ortak ve genel işlevler sağlayan genel API'ler.
- Belirli bir aile veya belirli bir parça numarası için özel ve özelleştirilmiş işlevler sağlayan Uzantı API'leri.
- Düşük katmanlı API'ler, daha iyi optimizasyon ancak daha az taşınabilirlik ile kayıt düzeyinde düşük seviyeli API'ler sağlar. MCU ve çevre birimi özellikleri hakkında derin bir bilgi gerektirirler.
LL sürücüleri, donanıma HAL'den daha yakın, hızlı, hafif ve uzman odaklı bir katman sunmak üzere tasarlanmıştır. HAL'ın aksine, optimize edilmiş erişimin temel bir özellik olmadığı çevre birimleri veya ağır yazılım yapılandırması veya karmaşık üst düzey yığın gerektiren çevre birimleri için LL API'ler sağlanmaz.
LL sürücülerinin özellikleri:
- Veri yapılarında belirtilen parametrelere göre çevresel ana özellikleri başlatmak için kullanılan bir dizi işlev.
- Başlatma veri yapılarını her alana karşılık gelen sıfırlama değerleriyle dolduran bir dizi işlev.
- Çevresel başlatma kaldırma işlevi (çevresel kayıtlar varsayılan değerlerine geri yüklenir).
- Doğrudan ve atomik kayıt erişimi için bir dizi satır içi işlev.
- HAL'den tam bağımsızlık ve bağımsız modda (HAL sürücüleri olmadan) kullanılabilme özelliği.
- Desteklenen çevresel özelliklerin tam kapsamı.
Temel çevre birimi kullanımı (örn.amples
Bu katman eskiyi çevrelerampYalnızca HAL ve BSP kaynaklarını kullanarak STM32 çevre birimleri üzerinde oluşturulan dosyalar.
Gösteri örneğiampdaha karmaşık örnekleri göstermek için de kullanılabilirlerampMRSUBG ve LPAWUR gibi belirli çevre birimleriyle senaryolar.
Seviye 1
Bu seviye iki alt katmana ayrılmıştır:
- Ara yazılım bileşenleri
- Exampara yazılım bileşenlerini temel alan dosyalar
Ara yazılım bileşenleri
Ara yazılım, FreeRTOS™ çekirdeğini, FatFS'yi ve Sigfox™ protokol kitaplığını kapsayan bir dizi kitaplıktır. Bu katmanın bileşenleri arasındaki yatay etkileşim, öne çıkan API'leri çağırarak yapılır.
Düşük katmanlı sürücülerle dikey etkileşim, kütüphane sistemi çağrı arayüzünde uygulanan belirli geri aramalar ve statik makrolar aracılığıyla gerçekleştirilir.
Her bir ara yazılım bileşeninin ana özellikleri aşağıdaki gibidir:
- FreeRTOS™ çekirdeği: gömülü sistemler için tasarlanmış gerçek zamanlı bir işletim sistemini (RTOS) uygular.
- Sigfox™: Sigfox™ protokol ağıyla uyumlu Sigfox™ protokol kütüphanesini uygular ve RF Sigfox™ araçlarına karşı test yapmak için RF test protokol kütüphanesini içerir.
- FatFS: Genel FAT'ı uygular file sistem modülü.
Exampara yazılım bileşenlerini temel alan dosyalar
Her ara katman yazılımı bileşeni bir veya daha fazla eski sürümle birlikte gelir.amples, uygulamalar olarak da adlandırılır ve nasıl kullanılacağını gösterir. EntegrasyonampÇeşitli ara yazılım bileşenlerini kullanan dosyalar da sağlanmaktadır.
STM32CubeWL3 aygıt yazılımı paketi bittiview
Desteklenen STM32WL3x cihazları ve donanımları
STM32Cube, genel bir mimari etrafında oluşturulmuş son derece taşınabilir bir donanım soyutlama katmanı (HAL) sunar. Hangi MCU'nun kullanıldığını derinlemesine bilmeden işlevlerini uygulamak için ara katman katmanını kullanmak gibi, üzerine inşa edilen katmanlar ilkesine izin verir. Bu, kitaplık kodunun yeniden kullanılabilirliğini iyileştirir ve diğer cihazlara kolay taşınabilirlik sağlar.
- Ayrıca katmanlı mimarisi sayesinde STM32CubeWL3, tüm STM32WL3x ürün serisine tam destek sunuyor.
- Kullanıcının sadece stm32wl3x.h dosyasında doğru makroyu tanımlaması gerekir.
Tablo 1, kullanılan STM32WL3x ürün hattı aygıtına bağlı olarak tanımlanacak makroyu gösterir. Bu makronun derleyici ön işlemcisinde de tanımlanması gerekir.
Tablo 1. STM32WL3x ürün hattı için makrolar
| Makro şu şekilde tanımlandı: stm32wl3x.h | STM32WL3x ürün hattı cihazları |
| stm32wl33 | STM32WL33xx mikrodenetleyiciler |
STM32CubeWL3 zengin bir eskiz setine sahiptirampher düzeydeki dosyaları ve uygulamaları, herhangi bir HAL sürücüsünü veya ara yazılım bileşenini anlamayı ve kullanmayı kolaylaştırır. Bu exampDosyalar Tablo 2'de listelenen STMicroelectronics kartlarında çalışır.
| Pano | STM32WL3x kartının desteklediği cihazlar |
| NÜKLEO-WL33CC1 | STM32WL33CC |
| NÜKLEO-WL33CC2 | STM32WL33CC |
STM32CubeWL3 MCU Paketi herhangi bir uyumlu donanımda çalışabilir. Kullanıcılar, sağlanan ex'i taşımak için BSP sürücülerini basitçe güncellerler.ampEğer aynı donanım özelliklerine (LED'ler veya düğmeler gibi) sahiplerse, kartlarının üzerindeki düğmeleri değiştirin.
Firmware paketi bittiview
STM32CubeWL3 MCU Paketi çözümü, Şekil 3'te gösterilen yapıya sahip tek bir zip paketinde sunulmaktadır.
Şekil 3. STM32CubeWL3 aygıt yazılımı paket yapısı

Dikkat:
Kullanıcı bileşenleri değiştirmemelidir files. Kullanıcı yalnızca \Projects kaynaklarını düzenleyebilir.
Her pano için bir dizi eskiampEWARM, MDK-ARM ve STM32CubeIDE araç zincirleri için önceden yapılandırılmış projelerle birlikte sağlanır.
Şekil 4, NUCLEO-WL33CCx kartlarına ait proje yapısını göstermektedir. 
Eski sevgiliampdosyalar uygulandıkları STM32CubeWL3 seviyesine bağlı olarak sınıflandırılır. Aşağıdaki gibi adlandırılırlar:
- Seviye 0 eskiampdosyalara Ex denirampLes, Eskiamples_LL ve Examples_MIX. Sırasıyla HAL sürücüleri, LL sürücüleri ve herhangi bir ara yazılım bileşeni olmadan HAL ve LL sürücülerinin bir karışımını kullanırlar. Gösterim örneğiampAyrıca şunlar da mevcuttur.
- Seviye 1 eskiampdosyalara Uygulamalar denir. Her bir ara yazılım bileşeninin tipik kullanım durumlarını sağlarlar.
Belirli bir kart için herhangi bir donanım yazılımı uygulaması, Templ ates ve Templates_LL dizinlerinde bulunan şablon projeleri kullanılarak hızlı bir şekilde oluşturulabilir.
ExampLes, Eskiamples_LL ve Examples_MIX'in yapısı aynıdır:
- \Inc Tüm başlıkları içeren klasör files.
- Kaynak kodlarını içeren \Src klasörü.
- Her araç zinciri için önceden yapılandırılmış projeyi içeren \EWARM, \MDK-ARM ve \STM32CubeIDE klasörleri.
- Beni oku.md ve beni oku.html eskiyi anlatıyorampÇalışması için davranış ve gerekli ortam.
STM32CubeWL3 ile başlarken
İlk eski sevgiliyi çalıştırmakample
Bu bölüm, ilk örnek çalıştırmanın ne kadar basit olduğunu açıklıyorampSTM32CubeWL3 içindeki le. NUCLEO-WL33CC1 kartında çalışan basit bir LED geçişinin üretimini örnek olarak kullanır:
- STM32CubeWL3 MCU Paketini indirin.
- Sıkıştırılmış dosyayı açın veya varsa yükleyiciyi istediğiniz bir dizine çalıştırın.
- Şekil 3'te gösterilen paket yapısını değiştirmediğinizden emin olun. STM32CubeWL3 aygıt yazılımı paket yapısı. Ayrıca, bazı IDE'ler yol çok uzun olduğunda sorunlarla karşılaştığından, paketi kök birime yakın bir konuma (yani C:\ST veya G:\Tests) kopyalamanız da önerilir.
HAL örneği nasıl çalıştırılırample
Bir ex'i yüklemeden ve çalıştırmadan önceample, eskiyi okumanız şiddetle tavsiye edilirampbeni oku file herhangi bir özel yapılandırma için.
- \Projeler\NUCLEO-WL33CC\Ex'e göz atınamples.
- \GPIO, ardından \GPIO_EXTI klasörlerini açın.
- Projeyi tercih edilen araç zinciriyle açın. Hızlı bir genel bakışview eski bir hesabın nasıl açılacağı, oluşturulacağı ve çalıştırılacağı hakkındaampDesteklenen toolchainlerin bulunduğu dosya aşağıda verilmiştir.
- Hepsini yeniden oluştur files ve görüntüyü hedef belleğe yükleyin.
- eskiyi çalıştırampDaha fazla ayrıntı için, örnek belgeye bakınampbeni oku file.
Bir ex'i açmak, oluşturmak ve çalıştırmak içinampDesteklenen araç zincirlerinin her biriyle çalışmak için aşağıdaki adımları izleyin:
- :
- Ex'in altındaamples klasörünün içinde \EWARM alt klasörünü açın.
- Project.eww çalışma alanını başlatın (çalışma alanı adı bir örnekten diğerine değişebilir)ampdiğerine geçelim).
- Hepsini yeniden oluştur files: [Proje]>[Tümünü yeniden oluştur].
- Proje görüntüsünü yükleyin: [Proje]>[Hata Ayıklama].
- Programı çalıştırın: [Debug]>[Go (F5)].
- MDK-ARM:
- Ex'in altındaamples klasörünün içinde \MDK-ARM alt klasörünü açın.
- Project.uvproj çalışma alanını açın (çalışma alanı adı bir örnekten diğerine değişebilir)ampdiğerine geçelim).
- Hepsini yeniden oluştur files: [Proje]>[Tüm hedefi yeniden oluştur fileS].
- Proje görüntüsünü yükleyin: [Hata Ayıklama]>[Hata Ayıklama Oturumunu Başlat/Durdur].
- Programı çalıştırın: [Hata Ayıklama]>[Çalıştır (F5)].
- STM32CubeIDE:
- STM32CubeIDE araç zincirini açın.
- Tıklamak [File]>[Çalışma Alanını Değiştir]>[Diğer] ve STM32CubeIDE çalışma alanı dizinine göz atın.
- Tıklamak [File]>[İçe Aktar], [Genel]>[Mevcut Projeleri Çalışma Alanına] öğesini seçin ve ardından [İleri] öğesine tıklayın.
- STM32CubeIDE çalışma alanı dizinine göz atın ve projeyi seçin.
- Tüm projeyi yeniden oluştur files: Proje Gezgini penceresinde projeyi seçin ve ardından
[Proje]>[Projeyi oluştur] menüsü. - Programı çalıştırın: [Çalıştır]>[Hata Ayıklama (F11)].
Özel bir uygulama geliştirme
Bir uygulamayı geliştirmek veya güncellemek için STM32CubeMX'i kullanma
STM32Cube MCU Paketinde, neredeyse tüm proje örnekleriampDosyalar, sistemi, çevre birimlerini ve ara yazılımı başlatmak için STM32CubeMX aracıyla oluşturulur.
Mevcut bir projenin doğrudan kullanımıampSTM32CubeMX aracındaki dosya STM32CubeMX 6.12.0 veya üstünü gerektirir:
- STM32CubeMX kurulumundan sonra önerilen projeyi açın ve gerekirse güncelleyin.
Mevcut bir projeyi açmanın en basit yolu *.ioc dosyasına çift tıklamaktır. file böylece STM32CubeMX projeyi ve kaynağını otomatik olarak açar files. STM32CubeMX bu tür projelerin başlatma kaynak kodlarını üretir. - Ana uygulama kaynak kodu “USER CODE BEGIN” ve “USER CODE END” açıklamaları tarafından bulunur. Çevre birimi seçimi ve ayarları değiştirilirse, STM32CubeMX ana uygulama kaynak kodunu korurken kodun başlatma kısmını günceller.
STM32CubeMX ile özel bir proje geliştirmek için adım adım şu süreci izleyin:
- Pinout çakışma çözücüsü, saat ağacı ayarlama yardımcısı, güç tüketimi hesaplayıcısı ve MCU çevre birimi yapılandırmasını gerçekleştiren yardımcı programı (GPIO veya USART gibi) kullanarak tüm gerekli gömülü yazılımları yapılandırın.
- Seçilen konfigürasyona göre başlatma C kodunu oluşturun. Bu kod çeşitli geliştirme ortamlarında kullanıma hazırdır. Kullanıcı kodu bir sonraki kod üretiminde saklanır.
STM32CubeMX hakkında daha fazla bilgi için STM32 yapılandırması ve başlatma C kodu oluşturma (UM32) için STM1718CubeMX kullanım kılavuzuna bakın.
Sürücü uygulamaları
HAL uygulaması
Bu bölümde STM32CubeWL3 kullanılarak özel bir HAL uygulaması oluşturmak için gereken adımlar açıklanmaktadır:
- Bir proje oluşturun
Yeni bir proje oluşturmak için, her pano için \Projects\< STM32xxx_yyy>\Templates altında sağlanan Şablon projesinden veya \Projects\ altında bulunan herhangi bir kullanılabilir projeden başlayın. \Eskiampl es veya \Projeler\ \Uygulamalar (burada (kart adını ifade eder). Şablon projesi boş bir ana döngü işlevi sağlar. Ancak, STM32CubeWL32 proje ayarlarını anlamak için iyi bir başlangıç noktasıdır. Şablonun aşağıdaki özellikleri vardır:- Belirli bir kartta kod geliştirmek için gereken minimum bileşen seti olan HAL kaynak kodunu, CMSIS ve BSP sürücülerini içerir.
- Tüm ürün yazılımı bileşenleri için dahil edilen yolları içerir.
- Desteklenen STM32WL3x ürün hattı aygıtlarını tanımlar ve CMSIS ve HAL sürücülerinin doğru şekilde yapılandırılmasına olanak tanır.
- Kullanıma hazır kullanıcı sağlar fileaşağıda gösterildiği gibi önceden yapılandırılmıştır:
- HAL, Arm® çekirdek SysTick ile varsayılan zaman tabanıyla başlatıldı.
- SysTick ISR, HAL_Delay() amacıyla uygulandı.
Not: Mevcut bir projeyi başka bir konuma kopyalarken, eklenen tüm yolların güncellendiğinden emin olun.
- Ürün yazılımı bileşenlerini yapılandırma
HAL ve ara katman yazılımı bileşenleri, başlıkta bildirilen #define makrolarını kullanarak bir dizi derleme zamanı yapılandırma seçeneği sunar file. Bir şablon yapılandırması file her bileşenin içinde sağlanır ve proje klasörüne (genellikle yapılandırma) kopyalanması gerekir file xxx_conf_template.h olarak adlandırılmıştır, proje klasörüne kopyalanırken _template parçasının kaldırılması gerekir). Yapılandırma file her yapılandırma seçeneğinin etkisini anlamak için yeterli bilgi sağlar. Her bileşen için sağlanan belgelerde daha ayrıntılı bilgi mevcuttur. - HAL kitaplığını başlatın
Ana programa atladıktan sonra uygulama kodunun, aşağıdaki görevleri yerine getiren HAL kitaplığını başlatmak için HAL_Init() API'sini çağırması gerekir:- Flaş bellek ön yükleme ve SysTick kesme önceliğinin yapılandırılması (stm3 2wl3x_hal_conf.h'da tanımlanan makrolar aracılığıyla).
- SysTick'in, stm32wl3x_hal_conf.h'de tanımlanan SysTick kesme önceliği TICK_INT_PRIO'da her milisaniyede bir kesme üretecek şekilde yapılandırılması.
- NVIC grup önceliğinin 0'a ayarlanması.
- stm32wl3x_hal_msp.c kullanıcısında tanımlanan HAL_MspInit() geri çağırma işlevinin çağrısı file küresel düşük seviyeli donanım başlatma işlemlerini gerçekleştirmek için.
- Sistem saatini yapılandırma
Sistem saati yapılandırması aşağıda açıklanan iki API çağrılarak yapılır:- HAL_RCC_OscConfig(): Bu API dahili ve harici osilatörleri yapılandırır. Kullanıcı bir veya tüm osilatörleri yapılandırmayı seçer.
- HAL_RCC_ClockConfig(): Bu API sistem saat kaynağını, flaş bellek gecikmesini ve AHB ve APB ön ölçekleyicilerini yapılandırır.
- Çevre birimini başlat
- Öncelikle çevresel başlatma fonksiyonunu yazın. Aşağıdaki gibi devam edin:
- Çevresel saati etkinleştirin.
- Çevresel GPIO'ları yapılandırın.
- DMA kanalını yapılandırın ve DMA kesmesini etkinleştirin (gerekirse).
- Çevresel kesmeyi etkinleştirin (gerekirse).
- Gerekirse gerekli kesme işleyicilerini (çevre birimi ve DMA) çağırmak için stm32xxx_it.c dosyasını düzenleyin.
- Çevresel kesme veya DMA kullanılması amaçlanıyorsa, işlem tamamlama geri çağırma işlevlerini yazın.
- Kullanıcı main.c'de file, çevresel tutamak yapısını başlatın ve ardından çevresel başlatma fonksiyonunu çağırarak çevresel birimi başlatın.
- Bir uygulama geliştirin
Bu saattetage, sistem hazırdır ve kullanıcı uygulama kodu geliştirmeye başlanabilir.
HAL, çevre birimini yapılandırmak için sezgisel ve kullanıma hazır API'ler sağlar. Her türlü uygulama gereksinimini karşılamak için yoklamayı, kesintileri ve DMA programlama modelini destekler. Her bir çevre biriminin nasıl kullanılacağı hakkında daha fazla ayrıntı için zengin eskiampSTM32CubeWL3 MCU Paketinde sağlanan set.
Dikkat:
Varsayılan HAL uygulamasında, SysTick zamanlayıcısı bir zaman tabanı olarak kullanılır: düzenli zaman aralıklarında kesintiler üretir. HAL_Delay() çevresel ISR işleminden çağrılırsa, SysTick kesintisinin çevresel kesintiden daha yüksek bir önceliğe (sayısal olarak daha düşük) sahip olduğundan emin olun. Aksi takdirde, çağıran ISR işlemi
engellendi. Zaman tabanı yapılandırmalarını etkileyen işlevler, kullanıcıdaki diğer uygulamalar durumunda geçersiz kılmayı mümkün kılmak için __weak olarak beyan edilir file (genel amaçlı bir zamanlayıcı kullanarak, örneğinamp(le veya başka bir zaman kaynağı).
Daha fazla ayrıntı için HAL_TimeBase örneğine bakınampley.
Yüksek Lisans başvurusu
Bu bölümde STM32CubeWL3 kullanılarak özel bir LL uygulaması oluşturmak için gereken adımlar açıklanmaktadır.
- Bir proje oluşturun
Yeni bir proje oluşturmak için, her pano için \Projects\ altında sağlanan Templates_LL projesinden başlayın \Templates_LL veya \Projects\ altındaki herhangi bir kullanılabilir projeden \Eskiamples_LL ( (NUCLEO-WL32CC33 gibi) kart adını ifade eder.
Şablon projesi, STM32CubeWL3 için proje ayarlarını anlamak için iyi bir başlangıç noktası olan boş bir ana döngü işlevi sağlar. Şablonun ana özellikleri şunlardır:- Belirli bir kart üzerindeki kodu geliştirmek için gereken minimum bileşen seti olan LL ve CMSIS sürücülerinin kaynak kodlarını içerir.
- Gerekli tüm ürün yazılımı bileşenleri için dahil edilen yolları içerir.
- Desteklenen STM32WL3x ürün hattı aygıtını seçer ve CMSIS ve LL sürücülerinin doğru yapılandırılmasına olanak tanır.
- Kullanıcının kullanıma hazır olmasını sağlar fileaşağıdaki gibi önceden yapılandırılmıştır:
- main.h: LED ve USER_BUTTON tanımı soyutlama katmanı.
- main.c: Maksimum frekans için sistem saati yapılandırması.
- LL ex'i taşıyınamptarih:
- Başlangıç kaynağını korumak için Templates_LL klasörünü kopyalayıp yapıştırın veya mevcut bir Templa tes_LL projesini doğrudan güncelleyin.
- Daha sonra, taşıma işlemi esas olarak Templates_LL'yi değiştirmekten oluşur fileEx tarafındanamples_LL'yi hedef alan proje.
- Panele özel tüm parçaları saklayın. Açıklık sağlamak amacıyla panele özel parçalar özel işaretlerle işaretlenmiştir. tags:

Bu nedenle, ana taşıma adımları şunlardır:
- stm32wl3x_it.h dosyasını değiştirin file.
- stm32wl3x_it.c'yi değiştirin file.
- Ana.h'yi değiştirin file ve güncelleyin: LL şablonunun LED ve kullanıcı düğmesi tanımını KART'A ÖZEL YAPILANDIRMA altında tutun tags.
- Main.c'yi değiştirin file ve güncelleyin:
- SystemClock_Config() LL şablon fonksiyonunun saat konfigürasyonunu KART'A ÖZEL YAPILANDIRMA altında tutun tags.
- LED tanımına bağlı olarak, her LDx oluşumunu mevcut başka bir LDy ile değiştirin. file ana.h.
Bu değişikliklerle eskiample hedeflenen tahtada çalışır.
RF uygulamaları, gösterileri ve örnekleriamples
Farklı tipte RF uygulamaları, gösterimleri ve örnekleriampSTM32CubeWL3 paketinde dosyalar mevcuttur. Aşağıdaki iki bölümde listelenmiştir.
GHz altıamples ve gösteriler
Bu eskiampMRSUBG ve LPAWUR radyo çevre birimlerinin temel özelliklerini gösterir. Bu örneklerampdosyalar şu adreste mevcuttur:
- Projeler\NUCLEO-WL33CC\Examples\MRSUBG
- Projeler\NUCLEO-WL33CC\Examples\LPAWUR
- Projeler\NUCLEO-WL33CC\Gösteriler\MRSUBG
- Projeler\NUCLEO-WL33CC\Gösteriler\LPAWUR
Her eskiampGösterim genellikle verici ve alıcı olarak görev yapan Tx ve Rx adı verilen iki programdan oluşur:
- Examples/MRSUBG
- MRSUBG_802_15_4: 802.15.4 standardı tarafından tanımlanan fiziksel katmanın bir uygulamasıdır. Radyonun 802.15.4 paketlerini iletmek veya almak üzere nasıl yapılandırılacağını gösterir.
- MRSUBG_BasicGeneric: STM32WL3x MR_SUBG temel paketlerinin değişimi.
- MRSUBG_Chat: Aynı cihazda Tx ve Rx'in nasıl kullanılacağını gösteren basit bir uygulama.
- MRSUBG_DatabufferHandler: Eski bir kişiampDatabuffer 0 ve 1 arasında nasıl geçiş yapılacağını gösteren video.
- MRSUBG_Sequencer AutoAck: Eski bir kişiampPaket onaylarını (ACK) otomatik olarak ileten ve alan le.
- MRSUBG_WMBusSTD: WM-Bus mesajlarının değişimi.
- WakeupRadio: Eski bir sevgiliampLPAWUR radyo çevre birimini test etmek için.
- Gösteriler/MRSUBG
- MRSUBG_RTC_Button_TX: Bu örnekampSoC'nin derin durdurma moduna nasıl ayarlanacağını ve MRSUBG'nin, bir kare göndermek için PB2'ye basılarak veya RTC zamanlayıcısının süresi dolduktan sonra SoC'yi uyandıracak şekilde nasıl yapılandırılacağını gösterir.
- MRSUBG_Sequencer_Sniff: Bu eskiampMRSUBG sıralayıcısının koklama modunda çalışacak şekilde nasıl ayarlanacağını gösterir. Bu örnekampAlıcı tarafını gösterir ve verici olarak başka bir cihaza ihtiyaç duyar.
- MRSUBG_Timer: Uygulama, MRSUBG zamanlayıcısının (otomatik yeniden yüklemeli) birden fazla örneğini farklı zaman aralıklarıyla zamanlar.
- MRSUBG_WakeupRadio_Tx: Bu eskiample, SoC'yi derin durdurma moduna nasıl ayarlayacağınızı ve MRSUBG'yi bir çerçeve göndermek için PB2'ye basarak SoC'yi uyandıracak şekilde nasıl yapılandıracağınızı açıklar. Bu örnekample verici tarafını gösterir ve LPAWUR alıcısı olarak başka bir cihaz gerektirir. Alıcı örneğiampdosya NUCLEO-WL33CC\Demonstrations\LPAWUR\LPAWUR_WakeupRad io_Rx klasörünün altında bulunur.
- Gösteriler/LPAWUR
- LPAWUR_WakeupRadio_Rx: Bu eskiampSoC'nin derin durdurma moduna nasıl ayarlanacağını ve LPAWUR'un bir çerçeve geldiğinde ve doğru bir şekilde alındığında SoC'yi uyandıracak şekilde nasıl yapılandırılacağını açıklar. Bu örnekample alıcı tarafını gösterir ve verici olarak başka bir cihaz gerektirir. Verici örneğiampdosya NUCLEO-WL33CC\Demonstrations\MRSUBG\MRSUBG_WakeupRad io_Tx klasörünün altında bulunur.
Sigfox™ uygulaması
Bu uygulamalar bir Sigfox™ senaryosunun nasıl uygulanacağını ve mevcut Sigfox™ API'lerinin nasıl kullanılacağını gösterir. Bunlar Projects\NUCLEO-WL33CC\Applications\Sigfox\ proje yolunda mevcuttur:
- Sigfox_CLI: Bu uygulama, Sigfox™ protokolünü kullanarak mesaj göndermek ve ön sertifikasyon testlerini gerçekleştirmek için komut satırı arayüzünün (CLI) nasıl kullanılacağını gösterir.
- Sigfox_PushButton: Bu uygulama STM32WL33xx Sigfox™ cihazının radyo yeteneklerinin değerlendirilmesine olanak tanır. PB1'e basıldığında bir test Sigfox™ çerçevesi iletilir.
SSS
- LL sürücüleri yerine HAL'ı ne zaman kullanmalıyım?
HAL sürücüleri, yüksek düzeyde taşınabilirlikle birlikte üst düzey ve işlev odaklı API'ler sunar. Ürün veya çevre biriminin karmaşıklığı son kullanıcılar için gizlidir.
LL sürücüleri, daha iyi optimizasyona sahip ancak daha az taşınabilir, düşük katmanlı kayıt düzeyi API'leri sunar. Ürün veya IP spesifikasyonları hakkında derinlemesine bilgi gerektirirler. - HAL ve LL sürücüleri birlikte kullanılabilir mi? Eğer evetse, kısıtlamalar nelerdir?
Hem HAL hem de LL sürücülerini kullanmak mümkündür. Çevresel başlatma aşaması için HAL'ı kullanın ve ardından G/Ç işlemlerini LL sürücüleriyle yönetin.
HAL ve LL arasındaki en büyük fark, HAL sürücülerinin işlem yönetimi için tutamakları oluşturması ve kullanması gerekirken, LL sürücülerinin doğrudan çevresel kayıtlarda çalışmasıdır. HAL ve LL'nin karıştırılması Örnek'te gösterilmiştiramples_MIX eskiamples. - LL başlatma API'leri nasıl etkinleştirilir?
LL başlatma API'lerinin ve ilişkili kaynakların (yapılar, değişmezler ve prototipler) tanımı, USE_FULL_LL_DRIVER derleme anahtarına bağlıdır.
LL başlatma API'lerini kullanabilmek için bu anahtarı araç zinciri derleyici ön işlemcisine ekleyin. - MRSUBG/LPAWUR çevre birimi için herhangi bir şablon proje var mı?amponlar mı?
Yeni bir MRSUBG veya LPAWUR örneği oluşturmak içinampProje, \Pr ojects\NUCLEO-WL33CC\Ex altında sağlanan iskelet projeden başlayabiliramples\MRSUBG veya \Projeler\NUCLEO-WL33CC\Examples\LPAWUR veya aynı dizinler altında bulunan herhangi bir kullanılabilir projeden. - STM32CubeMX gömülü yazılıma dayalı olarak nasıl kod üretebilir?
STM32CubeMX, çevre birimleri ve yazılımları da dahil olmak üzere STM32 mikrodenetleyicileri hakkında yerleşik bilgiye sahiptir ve bu da kullanıcıya grafiksel bir gösterim sağlamasına ve *.h veya *.c oluşturmasına olanak tanır. fileKullanıcının yapılandırmasına göre değişir.
Revizyon geçmişi
Tablo 3. Belge revizyon geçmişi
| Tarih | Revizyon | Değişiklikler |
| 29-Mar-2024 | 1 | İlk sürüm. |
| 30-Ekim-2024 | 2 | Tam entegrasyon STM32KüpWL3 in STM32Küp. Güncellendi:
Kaldırıldı:
|
Belgeler / Kaynaklar
![]() |
ST STM32WL3x Yazılım Paketi [pdf] Talimatlar STM32WL3x Yazılım Paketi, STM32WL3x, Yazılım Paketi, Paket |





