STM32WL3x Mikrodenetleyiciler
Ürün Kullanım Talimatları
- STM32CubeWL3 paketi, mikrodenetleyici donanımını kapsayan düşük katman (LL) ve donanım soyutlama katmanı (HAL) API'lerini içerir.
- Ayrıca SigfoxTM, FatFS ve FreeRTOS çekirdeği gibi ara yazılım bileşenleri de sağlar.
- Paket ex ile birlikte gelirampKolay uygulanabilir dosyalar ve uygulamalar.
- STM32CubeWL3 mimarisi üç seviye üzerine kurulmuştur: Uygulamalar, HAL ve LL.
- HAL ve LL API'leri geniş yelpazede uygulama gereksinimlerini kapsar.
- HAL, temel çevresel kullanım olanağı sunaramples ve LL düşük seviyeli rutinler sağlar.
- Bu seviye, Board Support Package (BSP) ve HAL alt katmanlarını içerir.
- BSP, kartlardaki donanım bileşenleri için API'ler sunarken, HAL temel çevre birimi kullanımını sağlar.amples.
- BSP sürücüleri, bileşen sürücülerini belirli kartlara bağlayarak diğer donanımlara taşınmasını kolaylaştırır.
- STM32CubeWL3 HAL ve LL tamamlayıcıdır ve geniş yelpazedeki uygulama gereksinimlerini karşılar.
- Kullanıcılar bu API'leri kullanarak mikrodenetleyici donanımıyla etkin bir şekilde etkileşim kurabilirler.
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:
STM32Cube şunları içerir:
- Tasarımdan gerçekleştirmeye kadar proje geliştirmeyi kapsayan bir dizi kullanıcı dostu yazılım geliştirme aracı, bunlardan bazıları:
- 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)
- Donanım üzerinde yüksek derecede kullanıcı kontrolü ile en iyi performansı ve ayak izlerini sağlayan STM32Cube düşük katmanlı API'ler
- 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
- STM32KüpWL3 Arm® Cortex®‑M32+ işlemciye dayalı STM3WL0x ürün serisi mikrodenetleyicilerinde Sigfox™ ikili dosyaları da dahil olmak üzere GHz altı 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 yan kuruluşlarının) ABD'de ve/veya başka yerlerde tescilli ticari markasıdır.
STM32CubeWL3'ün temel özellikleri
- STM32CubeWL3 MCU Paketi, Arm® Cortex®‑M32+ işlemciye dayalı STM32 0-bit mikrodenetleyicilerde çalışır. Tek bir pakette, bir uygulama geliştirmek için gereken tüm genel gömülü yazılım bileşenlerini toplar. STM32WL3x ürün grubu mikrodenetleyiciler.
- 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.
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üsünün harici bileşenlerine belirli 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 birimlerinin teknik özellikleri hakkında derin bilgiye ihtiyaç duyarlar.
LL sürücüleri, HAL'den daha çok donanıma yakın, hızlı, hafif, uzman odaklı bir katman sunmak üzere tasarlanmıştır. HAL'in aksine, LL API'leri, optimize edilmiş erişimin önemli bir özellik olmadığı çevre birimleri veya yoğun yazılım yapılandırması veya karmaşık üst düzey yığın gerektirenler için 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.
Not: 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ıktan oluşur.
Bu katmanın bileşenleri arasındaki yatay etkileşim, öne çıkan API'lerin çağrılması yoluyla 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.ampUygulamalar olarak da adlandırılan, nasıl kullanılacağını gösteren dosyalardır.
- Entegrasyon eskiampÇ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ı
- STM32Küp genel bir mimari etrafında oluşturulmuş son derece taşınabilir bir donanım soyutlama katmanı (HAL) sunar. MCU'nun ne olduğunu derinlemesine bilmeden işlevlerini uygulamak için ara katman katmanını kullanmak gibi katmanlar üzerine inşa etme 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ı mimarisiyle, STM32KüpWL3 STM32WL3x ürün serisinin tamamına tam destek sunar.
- 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ı |
stm32wl3x | STM32WL30xx mikrodenetleyiciler STM32WL31xx mikrodenetleyiciler STM32WL33xx mikrodenetleyiciler |
Tablo 2. STM32WL3x ürün grubu için kartlar
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 günceller.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ı ile tek bir zip paketinde sunulmaktadır.
Dikkat: Kullanıcı bileşenleri değiştirmemelidir files. Kullanıcı yalnızca \Projects kaynaklarını düzenleyebilir. Her bir pano için bir dizi örnekampEWARM, 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ı, Templates 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üne tıklayın.
- 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 \Projeler\ altında sağlanan Şablon projesinden başlayın \Şablonlar veya \Projeler\ altındaki herhangi bir mevcut projeden \Eskiamples veya \Projeler\ \Uygulamalar (burada (kurul adını ifade eder).
Şablon projesi boş bir ana döngü işlevi sağlar. Ancak, STM32CubeWL3 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ılan parça- Şablonun proje klasörüne kopyalanırken 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ı (stm32 wl3x_hal_conf.h'de 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ırın. - HAL_RCC_ClockConfig(): Bu API sistem saat kaynağını, flaş bellek gecikmesini ve AHB ve APB ön ölçekleyicilerini yapılandırır.
- HAL_RCC_OscConfig(): Bu API dahili ve harici osilatörleri yapılandırır. Kullanıcı,
- Ç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 oluşturur. HAL_Delay() çevre birimi ISR işleminden çağrılırsa, SysTick kesmesinin çevre birimi kesmesinden daha yüksek önceliğe (sayısal olarak daha düşük) sahip olduğundan emin olun. Aksi halde arayanın ISR işlemi engellenir. Zaman tabanı yapılandırmalarını etkileyen işlevler, kullanıcıdaki diğer uygulamaların geçersiz kılınmasını mümkün kılmak için __weak olarak bildirilir. file (örneğin genel amaçlı bir zamanlayıcı kullanarak)ampdosya veya başka bir zaman kaynağı). Daha fazla ayrıntı için HAL_TimeBase ex'e 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 Template s_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 örnekleriampdosyalar STM32CubeWL3 paketinde mevcuttur.
Bunlar 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_WakeupRadio_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_WakeupRadio_Tx klasörünün altında bulunmaktadır.
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.
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 | STM32CubeWL3'ün STM32Cube'a tam entegrasyonu. Güncellendi:
• giriiş • Bölüm 2: STM32CubeWL3'ün temel özellikleri • Bölüm 3.2.1: Ara yazılım bileşenleri • Bölüm 4: STM32CubeWL3 aygıt yazılımı paketi bittiview • Bölüm 5.1: İlk görüşmeyi yürütmeample • Bölüm 5.3: RF uygulamaları, gösterimleri ve örnekleriamples Eklendi: • Bölüm 5.1.1: HAL örneği nasıl çalıştırılırample • Bölüm 5.2.1: Bir uygulamayı geliştirmek veya güncellemek için STM32CubeMX'i kullanma • SBölüm 6.4: MRSUBG/LPAWUR çevre birimi için herhangi bir şablon proje var mı?amponlar mı? • Bölüm 6.5: STM32CubeMX gömülü yazılıma dayalı kodu nasıl üretebilir? Kaldırıldı: • PC araçları, içermek Navigatör, STM32WL3 GUI, Ve MR-SUBG Dizileyici GUI • WiSE-Studio IOMapper gömülü yazılıma dayalı kodu nasıl üretebilir? • Navigator yazılım paketi kaynaklarına erişime izin veriyor mu? |
22-Ocak-2025 | 3 | Tablo 32'de uygulanabilir cihaz yelpazesini STM30WL32xx ve STM31WL1xx mikrodenetleyicilerine genişlettik. STM32WL3x ürün hattına ait makrolar. |
ÖNEMLİ UYARI – DİKKATLİCE OKUYUN
- STMicroelectronics NV ve bağlı şirketleri ("ST"), ST ürünlerine ve/veya bu belgeye herhangi bir zamanda bildirimde bulunmaksızın değişiklik, düzeltme, geliştirme, modifikasyon ve iyileştirme yapma hakkını saklı tutar. Alıcılar, sipariş vermeden önce ST ürünleriyle ilgili en son ilgili bilgileri edinmelidir. ST ürünleri, sipariş onayı sırasında yürürlükte olan ST'nin satış şartları ve koşullarına uygun olarak satılır.
- Alıcılar, ST ürünlerinin seçimi, seçimi ve kullanımı konusunda münhasıran sorumludur ve ST, uygulama yardımı veya alıcıların ürünlerinin tasarımı konusunda hiçbir sorumluluk kabul etmez.
- ST tarafından burada herhangi bir fikri mülkiyet hakkına ilişkin açık veya örtük hiçbir lisans verilmemektedir.
- ST ürünlerinin burada belirtilen bilgilerden farklı hükümlerle yeniden satışı, ST tarafından söz konusu ürün için verilen her türlü garantiyi geçersiz kılar.
- ST ve ST logosu, ST'nin ticari markalarıdır. ST ticari markaları hakkında ek bilgi için bkz. www.st.com/ticari markalarDiğer tüm ürün veya hizmet adları ilgili sahiplerinin mülkiyetindedir.
- Bu belgedeki bilgiler, bu belgenin önceki sürümlerinde sağlanan bilgilerin yerini alır ve bu bilgilerin yerine geçer.
- © 2025 STMicroelectronics – Tüm hakları saklıdır
SSS
LL sürücüleri yerine HAL'ı ne zaman kullanmalıyım?
HAL sürücüleri, yüksek düzeyde taşınabilirlikle yüksek düzeyde ve işlev odaklı API'ler sunar. Ürün veya çevre birimi 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 özellikleri hakkında derinlemesine bilgi gerektirirler.
LL başlatma API'leri nasıl etkinleştirilir?
LL başlatma API'lerinin ve ilişkili kaynak yapıları literallerinin ve prototiplerinin tanımı, USE_FULL_LL_DRIVER derleme anahtarıyla koşullandırılmıştı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 ojectsNUCLEO-33CC Ex altında sağlanan iskelet projeden başlar.amples MRSUBG veya ProjectsNUCLEO-WL33CC Örnamples LPAWUR veya aynı dizinler altında bulunan herhangi bir mevcut 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.
Belgeler / Kaynaklar
![]() |
ST STM32WL3x Mikrodenetleyiciler [pdf] Kullanıcı Kılavuzu STM32WL3x Mikrodenetleyiciler, STM32WL3x, Mikrodenetleyiciler |