STM32WL3x-loigo

Paket Software STM32WL3x

STM32WL3x-Software-Pakét -PRODCUCT

spésifikasi

  • Ngaran produk: pakét software STM32CubeWL3
  • kasaluyuan: STM32WL3x mikrokontroler
  • Fitur utama:
    • Low-layer (LL) jeung hardware abstraction layer (HAL) API
    • komponén middleware kernel SigfoxTM, FatFS, sarta FreeRTOSTM
    • Aplikasi sareng demonstrasi

Parentah Pamakéan Produk

Ngamimitian
Pikeun ngamimitian nganggo pakét parangkat lunak STM32CubeWL3, tuturkeun léngkah-léngkah ieu:

  1. Unduh pakét parangkat lunak ti resmi websitus.
  2. Pasang lingkungan pangwangunan anu diperyogikeun (contona, STM32CubeIDE, EWARM, MDK-ARM).
  3. Rujuk ka mantanamples jeung aplikasi disadiakeun pikeun hidayah.

STM32CubeWL3 Arsitéktur Leuwihview
Paket software STM32CubeWL3 diwangun sakitar tilu tingkat utama

  • Tingkat 0: Lapisan abstraksi hardware (HAL) jeung drivers BSP.
  • Tingkat 1: Aplikasi, perpustakaan, sareng komponén dumasar-protokol.

Patarosan anu Sering Ditaroskeun (FAQ)

Q: Naon fitur utama pakét software STM32CubeWL3?
A: Fitur utama ngawengku low-layer jeung HAL API, komponén middleware kawas SigfoxTM, FatFS, FreeRTOSTM kernel, aplikasi, jeung demonstrasi.

Bubuka

STM32Cube mangrupikeun inisiatif asli STMicroelectronics pikeun ningkatkeun produktivitas desainer sacara signifikan ku cara ngirangan usaha pangwangunan, waktos sareng biaya. STM32Cube nyertakeun sakabéh portopolio STM32.

STM32Cube ngawengku:

  • Sakumpulan pakakas pamekaran parangkat lunak anu ramah-pamaké pikeun nutupan pangwangunan proyék ti mimiti konsepsi nepi ka realisasi, diantarana nyaéta:
    • STM32CubeMX, alat konfigurasi software grafis anu ngamungkinkeun generasi otomatis kode initialization C ngagunakeun wizards grafis.
    • STM32CubeIDE, alat pamekaran sadaya-dina-hiji sareng konfigurasi periferal, generasi kode, kompilasi kode, sareng fitur debug
    • STM32CubeCLT, pakakas pamekaran garis paréntah sadaya-dina-hiji sareng kompilasi kode, program papan, sareng fitur debug
    • STM32CubeProgrammer (STM32CubeProg), alat pamrograman anu sayogi dina versi grafis sareng garis paréntah.
    • STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), alat ngawaskeun anu kuat pikeun nyaluyukeun paripolah sareng kinerja aplikasi STM32 sacara real waktos
  • STM32Cube MCU sareng MPU Packages, platform embedded-software komprehensif khusus pikeun unggal mikrokontroler sareng séri mikroprosesor (sapertos STM32CubeWL3 pikeun lini produk STM32WL3x), anu kalebet:
    • STM32Cube hardware abstraction layer (HAL), mastikeun portability maksimal dina portopolio STM32
    • STM32Cube low-layer API, mastikeun kinerja pangalusna sarta footprints kalawan tingkat luhur kontrol pamaké leuwih hardware]
    • Sakumpulan komponén middleware anu konsisten sapertos kernel FreeRTOS™, FatFS, sareng Sigfox™
    • Sadaya utilitas parangkat lunak anu dipasang sareng set lengkep periferal sareng aplikatifamples
  • STM32Cube Expansion Packages, anu ngandung komponén parangkat lunak anu ngalengkepan fungsionalitas STM32Cube MCU sareng MPU Packages kalayan:
    • ekstensi Middleware sarta lapisan applicative
    • Examples ngajalankeun on sababaraha papan ngembangkeun STMicroelectronics husus

Manual pamaké ieu ngajelaskeun kumaha carana ngamimitian kalawan STM32CubeWL3 MCU Paket.
Bagian 2 ngajelaskeun fitur utama STM32CubeWL3 jeung Bagian 3 nyadiakeun leuwihview arsitéktur na sareng struktur Paket MCU.

Inpormasi umum

STM32CubeWL3 ngajalankeun aplikasi demonstrasi sub-GHz, kaasup binari Sigfox™, dina mikrokontroler lini produk STM32WL3x dumasar kana prosesor Arm® Cortex®‑M0+.
Mikrokontroler STM32WL3x nyelapkeun periferal radio RF sub-GHz anu matuh STMicroelectronics, dioptimalkeun pikeun konsumsi daya ultra-rendah sareng kinerja radio anu saé, pikeun umur batre anu teu aya tandinganana.
Catetan: Arm mangrupakeun mérek dagang kadaptar ti Arm Limited (atawa subsidiaries na) di AS jeung/atawa tempat sejenna.

STM32CubeWL3 fitur utama

  • Paket STM32CubeWL3 MCU dijalankeun dina mikrokontroler STM32 32-bit dumasar kana prosesor Arm® Cortex®-M0+. Éta ngumpulkeun, dina pakét tunggal, sadaya komponén parangkat lunak anu dipasang umum anu diperyogikeun pikeun ngembangkeun aplikasi pikeun mikrokontroler lini produk STM32WL3x.
  • Paket kalebet API lapisan rendah (LL) sareng lapisan abstraksi hardware (HAL) anu nutupan hardware mikrokontroler, sareng set éksténsif examples ngajalankeun on dewan STMicroelectronics. API HAL sareng LL sayogi dina lisénsi BSD open-source pikeun genah pangguna. Éta ogé kalebet komponén middleware kernel Sigfox™, FatFS, sareng FreeRTOS™.
  • Paket STM32CubeWL3 MCU ogé nyayogikeun sababaraha aplikasi sareng demonstrasi ngalaksanakeun sadaya komponén middleware na.
  • Tata perenah komponén Paket STM32CubeWL3 MCU digambarkeun dina Gambar 1.

Gambar 1. STM32CubeWL3 MCU komponén Paket 

STM32WL3x-Pakét-Software (2)

STM32CubeWL3 arsitéktur leuwihview

Solusi Paket STM32CubeWL3 MCU diwangun sakitar tilu tingkat mandiri anu gampang berinteraksi sapertos anu dijelaskeun dina Gambar 2. STM32WL3x-Pakét-Software (3)Tingkat 0
Tingkat ieu dibagi kana tilu sublayers:

  • pakét rojongan dewan (BSP).
  • Lapisan abstraksi hardware (HAL):
    • drivers periferal HAL
    • drivers low-lapisan
  • Pamakéan periferal dasar examples.

Paket dukungan dewan (BSP)
Lapisan ieu nawiskeun sakumpulan API anu aya hubunganana sareng komponén hardware dina papan hardware (sapertos LED, tombol, sareng supir COM). Ieu diwangun ku dua bagian:

  • komponén:
    Ieu supir relatif ka alat éksternal on dewan jeung teu ka STM32. Supir komponén nyayogikeun API khusus pikeun komponén éksternal supir BSP sareng tiasa dibabawa dina papan anu sanés.
  • Supir BSP:

Éta ngamungkinkeun ngahubungkeun supir komponén ka papan khusus sareng nyayogikeun sakumpulan API anu ramah-pamaké. Aturan ngaran API nyaéta BSP_FUNCT_Action ().
Example: BSP_LED_Init(), BSP_LED_On()
BSP dumasar kana arsitéktur modular anu ngamungkinkeun porting gampang dina hardware naon waé ku ngan ukur ngalaksanakeun rutinitas tingkat rendah.

Lapisan abstraksi hardware (HAL) sareng lapisan handap (LL)
STM32CubeWL3 HAL sareng LL mangrupikeun pelengkap sareng nutupan sajumlah syarat aplikasi:

  • Supir HAL nawiskeun API anu portabel pisan anu berorientasi fungsi tingkat luhur. Aranjeunna nyumputkeun MCU sareng pajeulitna periferal ka pangguna akhir.
    Supir HAL nyayogikeun API berorientasi fitur multi-instance generik, anu nyederhanakeun palaksanaan aplikasi pangguna ku nyayogikeun prosés anu siap dianggo. Pikeun example, pikeun périferal komunikasi (I2C, UART, jeung sajabana), nyadiakeun API ngamungkinkeun initializing jeung ngonpigurasikeun periferal, ngatur mindahkeun data dumasar kana polling, interrupting, atawa prosés DMA, sarta nanganan kasalahan komunikasi anu mungkin timbul salila komunikasi. API supir HAL dibagi jadi dua kategori:
  1. API generik, nu nyadiakeun fungsi umum jeung umum ka sadaya mikrokontroler runtuyan STM32.
  2. API extension, nu nyadiakeun fungsi husus sarta ngaropéa pikeun kulawarga husus atawa nomer bagian husus.
  • API lapisan handap nyadiakeun API tingkat handap dina tingkat register, kalawan optimasi hadé tapi kirang portability. Éta peryogi pangaweruh anu jero ngeunaan MCU sareng spésifikasi periferal.
    Supir LL dirancang pikeun nawiskeun lapisan berorientasi ahli anu ringan gancang anu langkung caket kana hardware tibatan HAL. Sabalikna sareng HAL, LL API henteu disayogikeun pikeun périferal dimana aksés anu dioptimalkeun sanés fitur konci, atanapi pikeun anu meryogikeun konfigurasi parangkat lunak atanapi tumpukan tingkat luhur anu kompleks.

Fitur supir LL:

  • Hiji set fungsi pikeun initialize fitur utama periferal nurutkeun parameter dieusian dina struktur data.
  • Sakumpulan fungsi pikeun ngeusian struktur data initialization kalayan nilai reset anu saluyu sareng unggal lapangan.
  • Fungsi pikeun de-inisialisasi periferal (register periferal disimpen deui kana nilai standarna).
  • Sakumpulan fungsi inline pikeun aksés register langsung sareng atom.
  • Kamerdikaan pinuh tina HAL sareng kamampuan pikeun dianggo dina modeu mandiri (tanpa supir HAL).
  • Liputan pinuh ku fitur periferal anu dirojong.

Pamakéan periferal dasar examples
Lapisan ieu nutupan examples diwangun ngaliwatan périferal STM32 ngan ngagunakeun sumberdaya HAL jeung BSP.
Demonstrasi examples oge sadia pikeun nembongkeun ex leuwih kompleksampskenario kalawan périferal husus, kayaning MRSUBG na LPAWUR.

Tingkat 1
Tingkat ieu dibagi jadi dua sublayers:

  • komponén Middleware
  • Examples dumasar kana komponén middleware

komponén Middleware
Middleware nyaéta sakumpulan perpustakaan anu ngawengku kernel FreeRTOS™, FatFS, jeung perpustakaan protokol Sigfox™. Interaksi horisontal antara komponén lapisan ieu dilakukeun ku nelepon ka API unggulan.
Interaksi vertikal jeung drivers low-lapisan dipigawé ngaliwatan callbacks husus sarta macros statik dilaksanakeun dina panganteur panggero sistem perpustakaan.
Fitur utama unggal komponén middleware nyaéta kieu:

  • Kernel FreeRTOS™: nerapkeun sistem operasi waktos nyata (RTOS), dirancang pikeun sistem anu dipasang.
  • Sigfox™: nerapkeun perpustakaan protokol Sigfox™ anu patuh sareng jaringan protokol Sigfox™ sareng kalebet perpustakaan protokol uji RF pikeun nguji ngalawan alat RF Sigfox™.
  • FatFS: ngalaksanakeun FAT generik file modul sistem.

Examples dumasar kana komponén middleware
Unggal komponén middleware hadir kalawan hiji atawa leuwih examples, disebut oge aplikasi, nembongkeun kumaha carana make eta. Integrasi examples nu make sababaraha komponén middleware disadiakeun ogé.

STM32CubeWL3 pakét firmware leuwihview

Dirojong STM32WL3x alat jeung hardware
STM32Cube nawiskeun lapisan abstraksi hardware (HAL) anu portabel pisan anu diwangun dina arsitektur umum. Hal ieu ngamungkinkeun prinsip lapisan ngawangun, sapertos ngagunakeun lapisan middleware pikeun ngalaksanakeun fungsina tanpa terang, jero, naon anu dianggo ku MCU. Ieu ngaronjatkeun reusability kode perpustakaan sarta ensures portability gampang ka alat sejen.

  • Sajaba ti éta, kalawan arsitéktur layered na, STM32CubeWL3 nawarkeun rojongan lengkep pikeun sakabéh garis produk STM32WL3x.
  • Pamaké ngan kudu nangtukeun makro katuhu dina stm32wl3x.h.

meja 1 nembongkeun makro pikeun ngartikeun gumantung kana alat garis produk STM32WL3x dipaké. makro ieu ogé kudu dihartikeun dina preprocessor kompiler.
meja 1. Macros pikeun garis produk STM32WL3x

Makro diartikeun dina stm32wl3x.h Alat garis produk STM32WL3x
stm32wl33 STM32WL33xx mikrokontroler

STM32CubeWL3 gaduh set anu beunghar tina mantanamples sarta aplikasi dina sagala tingkatan, sahingga gampang ngartos tur ngagunakeun sagala supir HAL atawa komponén middleware. Ieu exampdijalankeun dina papan STMicroelectronics didaptarkeun dina Tabel 2.

Papan STM32WL3x dewan dirojong alat
NUCLEO-WL33CC1 STM32WL33CC
NUCLEO-WL33CC2 STM32WL33CC

Paket STM32CubeWL3 MCU tiasa dijalankeun dina hardware anu cocog. Pamaké saukur ngamutahirkeun drivers BSP ka port ex disadiakeunamples on dewan maranéhna, lamun ieu boga fitur hardware sarua (saperti LEDs atawa tombol).

Paket firmware réngséview
Solusi Paket STM32CubeWL3 MCU disayogikeun dina hiji pakét pos anu gaduh struktur anu dipidangkeun dina Gambar 3.
angka 3. STM32CubeWL3 struktur bungkusan firmware

STM32WL3x-Pakét-Software (4)

Awas:

Pamaké henteu kedah ngarobih komponén files. Pamaké ngan ukur tiasa ngédit sumber \Proyék.
Pikeun unggal dewan, susunan examples disadiakeun kalawan proyék preconfigured pikeun toolchains EWARM, MDK-ARM, sarta STM32CubeIDE.
angka 4 nembongkeun struktur proyék pikeun papan NUCLEO-WL33CCx. STM32WL3x-Pakét-Software (5)

Mantanamples digolongkeun gumantung kana tingkat STM32CubeWL3 nu aranjeunna dilarapkeun ka. Aranjeunna ngaranna kieu:

  • Tingkat 0 examples disebut Examples, Examples_LL, sareng Examples_MIX. Aranjeunna nganggo masing-masing supir HAL, supir LL, sareng campuran supir HAL sareng LL tanpa komponén middleware. Demonstrasi examples oge sadia.
  • Tingkat 1 examples disebut Aplikasi. Aranjeunna nyadiakeun kasus pamakéan has unggal komponén middleware.

Aplikasi firmware naon waé pikeun papan anu dipasihkeun tiasa gancang diwangun nganggo proyék template anu aya dina diréktori Templ sareng Templates_LL.

Examples, Examples_LL, sareng Examples_MIX gaduh struktur anu sami:

  • \Inc folder ngandung sakabéh lulugu files.
  • \Src folder ngandung kode sumber.
  • \ EWARM, \ MDK-ARM, jeung \ STM32CubeIDE polder ngandung proyék preconfigured pikeun tiap toolchain.
  • readme.md jeung readme.html ngajéntrékeun exampkabiasaan jeung lingkungan diperlukeun sangkan eta jalan.

Ngamimitian nganggo STM32CubeWL3

Ngajalankeun urut munggaranample
bagian ieu ngécéskeun kumaha basajan éta ngajalankeun ex munggaranample dina STM32CubeWL3. Éta ngagunakeun salaku ilustrasi generasi togél LED saderhana anu dijalankeun dina papan NUCLEO-WL33CC1:

  1. Unduh Paket MCU STM32CubeWL3.
  2. Buka zip eta, atawa ngajalankeun installer lamun disadiakeun, kana diréktori pilihan Anjeun.
  3. Pastikeun teu ngaropéa struktur pakét ditémbongkeun dina Gambar 3. STM32CubeWL3 struktur pakét firmware. Catet yén éta ogé dianjurkeun pikeun nyalin pakét dina lokasi deukeut volume root (hartina C: \ ST atanapi G: \ Tés), sakumaha sababaraha IDEs sapatemon masalah nalika jalur panjang teuing.

Kumaha ngajalankeun ex HALample
Sateuacan ngamuat sareng ngajalankeun mantanample, eta niatna dianjurkeun maca exampkuring maca file pikeun sagala konfigurasi husus.

  1. Kotektak ka \Projects\NUCLEO-WL33CC\Examples.
  2. Buka folder \GPIO, teras \GPIO_EXTI.
  3. Buka proyék sareng toolchain anu dipikaresep. A gancang leuwihview ngeunaan cara muka, ngawangun, sareng ngajalankeun mantanample jeung toolchains dirojong dibere handap.
  4. Bangun deui sadayana files sarta beban gambar kana memori target.
  5. Jalankeun mantanample. Pikeun leuwih rinci, tingal exampkuring maca file.

Pikeun muka, ngawangun, sareng ngajalankeun mantanampsareng unggal ranté alat anu dirojong, tuturkeun léngkah-léngkah ieu di handap:

  • EWARM:
  1. Dina Examples folder, buka \EWARM subfolder.
  2. Jalankeun ruang kerja Project.eww (ngaran ruang kerja tiasa robih tina hiji example ka nu sejen).
  3. Bangun deui sadayana files: [Proyék]> [Ngawangun deui sadayana].
  4. Muat gambar proyék: [Proyék]>[Debug].
  5. Jalankeun program: [Debug]>[Go (F5)].
  • MDK-ARM:
  1. Dina Examples folder, buka \ MDK-ARM subfolder.
  2. Buka workspace Project.uvproj (ngaran workspace bisa robah ti hiji example ka nu sejen).
  3. Bangun deui sadayana files: [Proyék]>[Ngawangun deui sadaya udagan files].
  4. Muat gambar proyék: [Debug]>[Start/Stop Debug Session].
  5. Jalankeun program: [Debug]>[Run (F5)].
  • STM32CubeIDE:
  1. Buka ranté alat STM32CubeIDE.
  2. Pencét [File]>[Ganti Workspace]>[Lainna] tur kotektak ka diréktori workspace STM32CubeIDE.
  3. Pencét [File]>[Import], pilih [General]>[Existing Projects into Workspace], teras klik [Next].
  4. Kotektak diréktori workspace STM32CubeIDE tur pilih proyék.
  5. Ngawangun deui sadayana proyék files: Pilih proyék dina jandela Project Explorer teras klik dina
    [Proyék]> [Ngawangun proyék] ménu.
  6.  Jalankeun program: [Run]>[Debug (F11)].

Ngamekarkeun hiji aplikasi custom

Nganggo STM32CubeMX pikeun ngembangkeun atanapi ngapdet aplikasi
Dina STM32Cube MCU Paket, ampir sakabéh proyék examples dihasilkeun ku alat STM32CubeMX pikeun initialize sistem, périferal, sarta middleware.

Pamakéan langsung tina hiji proyék aya example tina alat STM32CubeMX merlukeun STM32CubeMX 6.12.0 atawa nu leuwih luhur:

  • Saatos pamasangan STM32CubeMX, buka sareng upami perlu ngapdet proyék anu diusulkeun.
    Cara pangbasajanna pikeun muka hiji proyék aya nyaéta ganda-klik dina *.ioc file supados STM32CubeMX otomatis muka proyék sareng sumberna files. STM32CubeMX ngahasilkeun kode sumber initialization proyék sapertos.
  • Kode sumber aplikasi utama dikandung ku komentar "USER CODE BEGIN" sareng "USER CODE END". Upami pilihan sareng setelan periferal dirobih, STM32CubeMX ngamutahirkeun bagian initialization kode bari ngajaga kode sumber aplikasi utama.

Pikeun ngembangkeun proyék khusus sareng STM32CubeMX, tuturkeun prosés léngkah-léngkah:

  1. Ngonpigurasikeun sadaya parangkat lunak anu dilebetkeun anu dibutuhkeun nganggo solusi konflik-pinout, asisten setelan tangkal jam, kalkulator pamakean daya, sareng utilitas anu ngalaksanakeun konfigurasi periferal MCU (sapertos GPIO atanapi USART).
  2. Ngahasilkeun kodeu initialization C dumasar kana konfigurasi nu dipilih. Kode ieu siap dianggo dina sababaraha lingkungan pamekaran. Kode pamaké disimpen dina generasi kode salajengna.
    Kanggo inpo nu leuwih lengkep tentang STM32CubeMX, tingal manual pamaké STM32CubeMX pikeun konfigurasi STM32 jeung initialization C kode generasi (UM1718).

Aplikasi supir

aplikasi HAL
Bagian ieu ngajelaskeun léngkah-léngkah anu diperyogikeun pikeun nyiptakeun aplikasi HAL khusus nganggo STM32CubeWL3:

  1. Jieun proyék
    Pikeun nyieun hiji proyék anyar, mimitian boh tina proyék Citakan disadiakeun pikeun tiap dewan dina \Proyék\< STM32xxx_yyy>\Citakan atawa tina sagala proyék sadia dina \Proyék\ \Exampl atawa \Proyék\ \Aplikasi (dimana nujul kana ngaran dewan). Proyék Citakan nyadiakeun fungsi loop utama kosong. Sanajan kitu, eta mangrupakeun titik awal alus ngartos setélan proyék STM32CubeWL32. Citakan mibanda ciri di handap ieu:
    • Éta ngandung kode sumber HAL, CMSIS, sareng supir BSP, anu mangrupikeun set minimum komponén anu diperyogikeun pikeun ngembangkeun kode dina papan anu dipasihkeun.
    • Ieu ngandung jalur kaasup pikeun sakabéh komponén firmware.
    • Éta ngahartikeun alat garis produk STM32WL3x anu dirojong, ngamungkinkeun supir CMSIS sareng HAL tiasa dikonpigurasi leres.
    • Éta nyayogikeun pangguna anu siap dianggo files preconfigured sakumaha ditémbongkeun di handap ieu:
    • HAL diinisialisasi ku basis waktos standar sareng inti Arm® SysTick.
    • SysTick ISR dilaksanakeun pikeun tujuan HAL_Delay ().
      Catetan: Nalika nyalin proyék anu tos aya ka lokasi anu sanés, pastikeun sadaya jalur anu kalebet diropéa.
  2. Konpigurasikeun komponén firmware
    Komponén HAL sareng middleware nawiskeun sakumpulan pilihan konfigurasi waktos ngawangun nganggo makro #define dinyatakeun dina lulugu. file. A konfigurasi template file disayogikeun dina unggal komponén, anu kedah disalin kana folder proyék (biasana konfigurasi file dingaranan xxx_conf_template.h, fragmen _template kedah dipiceun nalika nyalin kana folder proyék). Konfigurasi file nyadiakeun informasi cukup ngartos dampak unggal pilihan konfigurasi. Inpo nu leuwih lengkep sadia dina dokuméntasi disadiakeun pikeun tiap komponén.
  3. Mimitian perpustakaan HAL
    Saatos ngaluncat kana program utama, kode aplikasi kedah nyauran HAL_Init () API pikeun ngamimitian perpustakaan HAL, anu ngalaksanakeun tugas di handap ieu:
    • Konfigurasi memori flash prefetch na SysTick ngaganggu prioritas (ngaliwatan macros didefinisikeun dina stm3 2wl3x_hal_conf.h).
    •  Konfigurasi SysTick pikeun ngahasilkeun interupsi unggal milidetik dina SysTick ngaganggu prioritas TICK_INT_PRIO didefinisikeun dina stm32wl3x_hal_conf.h.
    • Nyetél prioritas grup NVIC ka 0.
    • Telepon fungsi callback HAL_MspInit () ditetepkeun dina pangguna stm32wl3x_hal_msp.c file pikeun ngalakukeun initializations hardware tingkat low global.
  4. Konpigurasikeun jam sistem
    Konfigurasi jam sistem dilakukeun ku nelepon dua API anu dijelaskeun di handap ieu:
    • HAL_RCC_OscConfig (): API ieu ngonpigurasikeun osilator internal sareng éksternal. Pamaké milih ngonpigurasikeun hiji atawa sakabéh osilator.
    • HAL_RCC_ClockConfig (): API ieu ngonpigurasikeun sumber jam sistem, latency memori flash, sarta prescalers AHB na APB.
  5. Initialize periferal
    •  Tulis heula fungsi initialization periferal. Teraskeun sapertos kieu:
    • Aktipkeun jam periferal.
    • Ngonpigurasikeun GPIOs periferal.
    • Ngonpigurasikeun saluran DMA jeung ngaktipkeun DMA ngaganggu (lamun diperlukeun).
    • Aktipkeun interupsi periferal (upami diperyogikeun).
    • Édit stm32xxx_it.c pikeun nelepon panangan ngaganggu anu diperyogikeun (periferal sareng DMA), upami diperyogikeun.
    •  Nulis prosés callback lengkep fungsi lamun hiji ngaganggu periferal atawa DMA dimaksudkeun pikeun dipaké.
    •  Dina pamaké utama.c file, initialize struktur cecekelan periferal lajeng nelepon fungsi initialization periferal pikeun initialize periferal.
  6. Ngembangkeun hiji aplikasi
    Dina ieu stage, sistem geus siap tur ngembangkeun kode aplikasi pamaké bisa ngamimitian.
    HAL nyayogikeun API anu intuitif sareng siap dianggo pikeun ngonpigurasikeun periferal. Ieu ngarojong polling, interrupts, sarta modél programming DMA, pikeun nampung sagala sarat aplikasi. Kanggo inpo nu langkung lengkep ihwal kumaha cara ngagunakeun unggal periferal, tingal urut beungharample set disadiakeun dina STM32CubeWL3 MCU Paket.

Awas:
Dina palaksanaan HAL standar, timer SysTick dipaké salaku timebase a: ngahasilkeun interrupts dina interval waktu nu biasa. Mun HAL_Delay () disebut ti prosés ISR periferal, pastikeun yén SysTick ngaganggu boga prioritas luhur (numeris handap) ti interupsi periferal. Upami teu kitu, prosés ISR panelepon téh
dipeungpeuk. Fungsi nu mangaruhan konfigurasi timebase dinyatakeun salaku __weak sangkan override mungkin bisi palaksanaan sejenna dina pamaké. file (nganggo timer tujuan umum, contonaample, atanapi sumber waktos sanés).
Pikeun leuwih rinci, tingal HAL_TimeBase example.

aplikasi LL
Bagian ieu ngajelaskeun léngkah-léngkah anu diperyogikeun pikeun nyiptakeun aplikasi LL khusus nganggo STM32CubeWL3.

  1. Jieun proyék
    Pikeun nyieun proyék anyar, mimitian ti proyék Templates_LL disadiakeun pikeun tiap dewan dina \Projects\ \Templates_LL atanapi tina proyék naon waé anu aya dina \Proyék\ \E xamples_LL ( ngarujuk kana nami dewan, sapertos NUCLEO-WL32CC33).
    Proyék template nyadiakeun fungsi loop utama kosong, nu mangrupakeun titik awal alus ngartos setélan proyék pikeun STM32CubeWL3. Ciri utama template nyaéta kieu:
    • Ieu ngandung Konci sumber tina drivers LL na CMSIS, nu set minimum komponén diperlukeun pikeun ngembangkeun kode dina dewan dibikeun.
    • Ieu ngandung jalur kaasup pikeun sakabéh komponén firmware diperlukeun.
    • Éta milih alat garis produk STM32WL3x anu dirojong sareng ngamungkinkeun konfigurasi anu leres tina supir CMSIS sareng LL.
    • Éta nyayogikeun pangguna anu siap dianggo files nu preconfigured kieu:
    • main.h: LED na USER_BUTTON lapisan abstraksi harti.
    • main.c: Konfigurasi jam Sistim pikeun frékuénsi maksimum.
  2. Port LL example:
    • Salin / témpél folder Templates_LL - pikeun ngajaga sumber awal - atanapi langsung ngapdet proyék Templa tes_LL anu tos aya.
    • Lajeng, porting diwangun utamana dina ngaganti Templates_LL files ku Exampproyék sasaran les_LL.
    • Tetep sakabéh bagian husus dewan. Pikeun alesan kajelasan, papan bagian husus anu flagged kalawan husus tags:
      STM32WL3x-Pakét-Software (1)

Ku kituna, léngkah porting utama nyaéta kieu:

  • Ngaganti stm32wl3x_it.h file.
  • Ngaganti stm32wl3x_it.c file.
  • Ngaganti utama.h file sareng ngapdetna: Simpen definisi tombol LED sareng pangguna tina témplat LL dina KONFIGURASI SPESIFIK DEWAN tags.
  • Ganti nu utama.c file sareng ngapdet éta:
  • Tetep konfigurasi jam tina SystemClock_Config () LL fungsi template di handapeun BOARD SPECIFIC CONFIGURATION tags.
  • Gumantung kana harti LED, ngaganti unggal kajadian LDx kalawan LDy sejen sadia dina file utama.h.

Kalayan modifikasi ieu, example ngajalankeun on dewan sasaran.

Aplikasi RF, demonstrasi, sareng examples
Jenis béda tina aplikasi RF, demonstrasi, jeung examples sadia dina pakét STM32CubeWL3. Aranjeunna didaptarkeun dina dua bagian di handap.

Sub-GHz examples jeung démo
Ieu examples demonstrate fitur utama tina périferal radio MRSUBG na LPAWUR. Ieu examples sadia dina:

  • Proyék\NUCLEO-WL33CC\Examples\MRSUBG
  • Proyék\NUCLEO-WL33CC\Examples\LPAWUR
  • Proyék\NUCLEO-WL33CC\Demonstrasi\MRSUBG
  • Proyék\NUCLEO-WL33CC\Demonstrasi\LPAWUR

Unggal example atanapi démo umumna diwangun ku dua program anu disebut Tx sareng Rx masing-masing salaku pamancar sareng panarima:

  • Examples / MRSUBG
    • MRSUBG_802_15_4: palaksanaan lapisan fisik ditetepkeun ku standar 802.15.4. Ieu nembongkeun kumaha carana ngonpigurasikeun radio pikeun ngirimkeun atawa nampa 802.15.4 pakét.
    • MRSUBG_BasicGeneric: Bursa tina STM32WL3x MR_SUBG pakét dasar.
    • MRSUBG_Chat: Aplikasi saderhana anu nunjukkeun kumaha ngagunakeun Tx sareng Rx dina alat anu sami.
    • MRSUBG_DatabufferHandler: Hiji exampÉta nunjukkeun kumaha swap tina Databuffer 0 sareng 1.
    • MRSUBG_Sequencer AutoAck: Hiji example nu transmits sarta narima pakét acknowledgments (ACKs) otomatis.
    • MRSUBG_WMBusSTD: Bursa pesen WM-Bus.
    • WakeupRadio: Mantanample pikeun nguji périferal radio LPAWUR.
  • Démonstrasi / MRSUBG
    • MRSUBG_RTC_Button_TX: Ieu example nunjukkeun kumaha nyetél SoC dina modeu jero-eureun sareng ngonpigurasikeun MRSUBG pikeun hudang SoC ku mencét PB2 pikeun ngirim pigura atanapi saatos béakna waktos RTC.
    • MRSUBG_Sequencer_Sniff: Ieu example nembongkeun kumaha carana nyetel sequencer MRSUBG pikeun beroperasi dina modeu sniff. Mantan ieuample nunjukkeun sisi panarima sarta merlukeun alat sejen salaku pamancar a.
    • MRSUBG_Timer: Aplikasi ngajadwalkeun sababaraha waktos MRSUBG timer (kalayan autoreload) kalayan interval waktos anu béda.
    • MRSUBG_WakeupRadio_Tx: Ieu exampLe ngécéskeun kumaha carana nyetél SoC dina mode eureun jero tur ngonpigurasikeun MRSUBG pikeun hudang SoC ku mencét PB2 pikeun ngirim pigura. Mantan ieuample nunjukkeun sisi pamancar sarta merlukeun alat sejen salaku panarima LPAWUR. The panarima example lokasina di handapeun NUCLEO-WL33CC \ Demonstrasi \ LPAWUR \ LPAWUR_WakeupRad io_Rx folder.
  • Démonstrasi / LPAWUR
    • LPAWUR_WakeupRadio_Rx: Ieu exampLe ngécéskeun kumaha nyetél SoC dina modeu jero-eureun sareng ngonpigurasikeun LPAWUR pikeun ngahudangkeun SoC nalika pigura sumping sareng nampi leres. Mantan ieuample nunjukkeun sisi panarima sarta merlukeun alat sejen salaku pamancar a. Pamancar example lokasina di handapeun folder NUCLEO-WL33CC \ Demonstrasi \ MRSUBG \ MRSUBG_WakeupRad io_Tx.

Aplikasi Sigfox™
Aplikasi ieu nunjukkeun cara nerapkeun skenario Sigfox™ sareng nganggo API Sigfox™ nu sadia. Éta sayogi dina jalur proyék Projects\NUCLEO-WL33CC\Applications\Sigfox\:

  • Sigfox_CLI: Aplikasi ieu nunjukkeun kumaha ngagunakeun antarmuka garis paréntah (CLI) pikeun ngirim paréntah anu nganggo protokol Sigfox™ pikeun ngirim pesen sareng ngalaksanakeun tés présertifikasi.
  • Sigfox_PushButton: Aplikasi ieu ngamungkinkeun évaluasi kamampuan radio alat STM32WL33xx Sigfox™. Mencét PB1 ngirimkeun pigura tés Sigfox™.

FAQ

  1. Iraha kuring kedah nganggo HAL tibatan supir LL?
    Supir HAL nawiskeun API tingkat luhur sareng berorientasi fungsi, kalayan tingkat portabilitas anu luhur. Produk atanapi pajeulitna periferal disumputkeun pikeun pamaké tungtung.
    Supir LL nawiskeun API tingkat pendaptaran lapisan rendah, kalayan optimasi anu langkung saé tapi kirang portabel. Éta peryogi pangaweruh anu jero ngeunaan spésifikasi produk atanapi IP.
  2. Naha supir HAL sareng LL tiasa dianggo babarengan? Lamun enya, naon watesan?
    Kasebut nyaéta dimungkinkeun pikeun nganggo supir HAL sareng LL. Paké HAL pikeun fase initialization periferal lajeng ngatur I / O operasi kalawan drivers LL.
    Beda utama antara HAL sareng LL nyaéta yén supir HAL kedah nyiptakeun sareng nganggo gagang pikeun manajemén operasi bari supir LL beroperasi langsung dina register periferal. Pergaulan HAL sareng LL digambarkeun dina Examples_MIX examples.
  3. Kumaha LL initialization API diaktipkeun?
    Definisi LL initialization API jeung sumber pakait (struktur, literals, sarta prototipe) conditioned ku switch kompilasi USE_FULL_LL_DRIVER.
    Pikeun tiasa nganggo API inisialisasi LL, tambahkeun saklar ieu dina preprocessor kompiler toolchain.
  4. Dupi aya proyék template pikeun MRSUBG / LPAWUR ex periferalamples?
    Pikeun nyieun MRSUBG atanapi LPAWUR ex anyarampproyék, boh mimitian ti proyék rangka disadiakeun dina \Pr ojects\NUCLEO-WL33CC\Examples\MRSUBG atawa \Proyék\NUCLEO-WL33CC\Examples\LPAWUR, atawa tina sagala proyék sadia dina directories sarua ieu.
  5. Kumaha STM32CubeMX tiasa ngahasilkeun kode dumasar kana parangkat lunak anu dipasang?
    STM32CubeMX gaduh pangaweruh anu diwangun dina mikrokontroler STM32, kalebet périferal sareng parangkat lunakna, anu ngamungkinkeun éta masihan gambaran grafis ka pangguna sareng ngahasilkeun *.h atanapi *.c files dumasar kana konfigurasi pamaké.

Riwayat révisi

Méja 3. Sajarah révisi dokumén

titimangsa Révisi Parobahan
29-Mar-2024 1 Pelepasan awal.
30-Okt-2024 2 integrasi pinuh ku STM32CubeWL3 in STM32Kubus. Diropéa:

Dipiceun:

  • parabot PC, kaasup Navigator, STM32WL3 GUI, jeung MR-SUBG Sequencer GUI
  • Kumaha WiSE-Studio IOMapper tiasa ngahasilkeun kode dumasar kana parangkat lunak anu dipasang?
  • Naha Navigator ngamungkinkeun aksés kana sumber pakét software?

Dokumén / Sumberdaya

Paket Software ST STM32WL3x [pdf] Parentah
Paket Software STM32WL3x, STM32WL3x, Paket Software, Paket

Rujukan

Ninggalkeun komentar

alamat surélék anjeun moal diterbitkeun. Widang diperlukeun ditandaan *