ឧបករណ៍បញ្ជាខ្នាតតូច STM32WL3x

ការណែនាំអំពីការប្រើប្រាស់ផលិតផល
- កញ្ចប់ STM32CubeWL3 រួមមានស្រទាប់ទាប (LL) និងស្រទាប់អរូបីផ្នែករឹង (HAL) APIs ដែលគ្របដណ្ដប់លើផ្នែករឹងរបស់ microcontroller ។
- វាក៏ផ្តល់នូវសមាសធាតុផ្នែកកណ្តាលដូចជា SigfoxTM, FatFS និង FreeRTOS ខឺណែលផងដែរ។
- កញ្ចប់ភ្ជាប់មកជាមួយ ឧamples និងកម្មវិធីសម្រាប់ការអនុវត្តងាយស្រួល។
- ស្ថាបត្យកម្ម STM32CubeWL3 ត្រូវបានបង្កើតឡើងជុំវិញបីកម្រិត៖ កម្មវិធី, HAL, និង LL ។
- HAL និង LL APIs គ្របដណ្តប់លើតម្រូវការកម្មវិធីជាច្រើន។
- HAL ផ្តល់នូវការប្រើប្រាស់គ្រឿងកុំព្យូទ័រជាមូលដ្ឋាន examples និង LL ផ្តល់នូវទម្លាប់កម្រិតទាប។
- កម្រិតនេះរួមបញ្ចូលទាំងកញ្ចប់ជំនួយក្រុមប្រឹក្សាភិបាល (BSP) និងស្រទាប់រង HAL ។
- BSP ផ្តល់នូវ APIs សម្រាប់សមាសធាតុ hardware នៅលើ boards ខណៈពេលដែល HAL ផ្តល់នូវការប្រើប្រាស់គ្រឿងកុំព្យូទ័រជាមូលដ្ឋាន examples ។
- កម្មវិធីបញ្ជា BSP ភ្ជាប់កម្មវិធីបញ្ជាសមាសភាគទៅក្រុមប្រឹក្សាភិបាលជាក់លាក់ ដែលធ្វើឱ្យវាងាយស្រួលក្នុងការច្រកទៅកាន់ផ្នែករឹងផ្សេងទៀត។
- STM32CubeWL3 HAL និង LL គឺជាការបំពេញបន្ថែម ដែលគ្របដណ្តប់លើតម្រូវការកម្មវិធីជាច្រើន។
- អ្នកប្រើប្រាស់អាចប្រើប្រាស់ APIs ទាំងនេះដើម្បីធ្វើអន្តរកម្មជាមួយផ្នែករឹងរបស់ microcontroller ប្រកបដោយប្រសិទ្ធភាព។
សេចក្តីផ្តើម
STM32Cube គឺជាគំនិតផ្តួចផ្តើមដើមរបស់ STMicroelectronics ដើម្បីបង្កើនផលិតភាពអ្នករចនាយ៉ាងសំខាន់ ដោយកាត់បន្ថយការខិតខំប្រឹងប្រែងក្នុងការអភិវឌ្ឍន៍ ពេលវេលា និងការចំណាយ។ STM32Cube គ្របដណ្តប់លើផលប័ត្រ STM32 ទាំងមូល។ STM32Cube រួមមានៈ
STM32Cube រួមមានៈ
- សំណុំនៃឧបករណ៍អភិវឌ្ឍន៍កម្មវិធីដែលងាយស្រួលប្រើសម្រាប់គ្របដណ្តប់លើការអភិវឌ្ឍន៍គម្រោងពីគំនិតរហូតដល់ការសម្រេចបាន ដែលក្នុងនោះមាន៖
- STM32CubeMX ជាឧបករណ៍កំណត់រចនាសម្ព័ន្ធកម្មវិធីក្រាហ្វិកដែលអនុញ្ញាតឱ្យបង្កើតកូដការចាប់ផ្តើម C ដោយស្វ័យប្រវត្តិដោយប្រើអ្នកជំនួយក្រាហ្វិក
- STM32CubeIDE ជាឧបករណ៍អភិវឌ្ឍន៍ទាំងអស់ក្នុងមួយជាមួយនឹងការកំណត់រចនាសម្ព័ន្ធគ្រឿងកុំព្យូទ័រ ការបង្កើតកូដ ការចងក្រងកូដ និងមុខងារបំបាត់កំហុស
- STM32CubeCLT ដែលជាឧបករណ៍អភិវឌ្ឍន៍បន្ទាត់ពាក្យបញ្ជាទាំងអស់នៅក្នុងមួយជាមួយនឹងការចងក្រងកូដ ការសរសេរកម្មវិធីក្តារ និងលក្ខណៈពិសេសបំបាត់កំហុស
- STM32CubeProgrammer (STM32CubeProg) ដែលជាឧបករណ៍សរសេរកម្មវិធីដែលមាននៅក្នុងកំណែក្រាហ្វិក និងបន្ទាត់ពាក្យបញ្ជា
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD) ឧបករណ៍ត្រួតពិនិត្យដ៏មានអានុភាពដើម្បីកែសម្រួលឥរិយាបថ និងការអនុវត្តកម្មវិធី STM32 ក្នុងពេលវេលាជាក់ស្តែង
- STM32Cube MCU និង MPU Packages ដែលជាកម្មវិធីបង្កប់-កម្មវិធីបង្កប់យ៉ាងទូលំទូលាយជាក់លាក់ចំពោះ microcontroller និង microprocessor series (ដូចជា STM32CubeWL3 សម្រាប់បន្ទាត់ផលិតផល STM32WL3x) ដែលរួមមាន:
- STM32Cube hardware abstraction layer (HAL) ធានាបាននូវការចល័តអតិបរមានៅទូទាំង STM32 portfolio
- STM32Cube low-layer APIs ធានានូវដំណើរការល្អបំផុត និងស្នាមជើងជាមួយនឹងកម្រិតខ្ពស់នៃការគ្រប់គ្រងអ្នកប្រើប្រាស់លើផ្នែករឹង
- សំណុំនៃសមាសភាគផ្នែកកណ្តាលដូចជា FreeRTOS™ ខឺណែល FatFS និង Sigfox™
- ឧបករណ៍ប្រើប្រាស់កម្មវិធីដែលបានបង្កប់ទាំងអស់ជាមួយនឹងសំណុំពេញលេញនៃគ្រឿងកុំព្យូទ័រ និងកម្មវិធី examples
- កញ្ចប់ពង្រីក STM32Cube ដែលមានសមាសធាតុកម្មវិធីបង្កប់ដែលបំពេញមុខងាររបស់ STM32Cube MCU និង MPU Packages ជាមួយ៖
- ផ្នែកបន្ថែម Middleware និងស្រទាប់អនុវត្ត
- Examples កំពុងដំណើរការលើក្រុមប្រឹក្សាអភិវឌ្ឍន៍ STMicroelectronics ជាក់លាក់មួយចំនួន
- សៀវភៅណែនាំអ្នកប្រើប្រាស់នេះពិពណ៌នាអំពីរបៀបចាប់ផ្តើមជាមួយកញ្ចប់ MCU STM32CubeWL3 ។
ផ្នែកទី 2 ពិពណ៌នាអំពីលក្ខណៈសំខាន់ៗនៃ STM32CubeWL3 ហើយផ្នែកទី 3 ផ្តល់នូវការបញ្ចប់view នៃស្ថាបត្យកម្មរបស់វា និងរចនាសម្ព័ន្ធកញ្ចប់ MCU ។
ព័ត៌មានទូទៅ
- STM32CubeWL3 ដំណើរការកម្មវិធីបង្ហាញអនុ GHz រួមទាំងប្រព័ន្ធគោលពីរ Sigfox™ លើ microcontrollers បន្ទាត់ផលិតផល STM32WL3x ដោយផ្អែកលើប្រព័ន្ធដំណើរការ Arm® Cortex®-M0+ ។
- microcontrollers STM32WL3x បានបង្កប់នូវគ្រឿងបរិក្ខារវិទ្យុ RF ដែលអនុលោមតាមអនុ GHz ទំនើបបំផុតរបស់ STMicroelectronics ដែលត្រូវបានកែលម្អសម្រាប់ការប្រើប្រាស់ថាមពលទាបបំផុត និងដំណើរការវិទ្យុដ៏ល្អឥតខ្ចោះ សម្រាប់អាយុកាលថ្មដែលមិនអាចប្រៀបផ្ទឹមបាន។
ចំណាំ៖ Arm គឺជាពាណិជ្ជសញ្ញាដែលបានចុះបញ្ជីរបស់ Arm Limited (ឬសាខារបស់ខ្លួន) នៅសហរដ្ឋអាមេរិក និង/ឬកន្លែងផ្សេងទៀត។

លក្ខណៈពិសេសរបស់ STM32CubeWL3
- កញ្ចប់ MCU STM32CubeWL3 ដំណើរការលើ microcontrollers 32-bit STM32 ដោយផ្អែកលើប្រព័ន្ធដំណើរការ Arm® Cortex®-M0+ ។ វាប្រមូលផ្តុំនៅក្នុងកញ្ចប់តែមួយ សមាសធាតុកម្មវិធីបង្កប់ទូទៅទាំងអស់ដែលត្រូវការដើម្បីបង្កើតកម្មវិធីសម្រាប់ ខ្សែផលិតផល STM32WL3x ឧបករណ៍បញ្ជាមីក្រូ។
- កញ្ចប់រួមមានស្រទាប់ទាប (LL) និងស្រទាប់អរូបីផ្នែករឹង (HAL) APIs ដែលគ្របដណ្ដប់លើផ្នែករឹងរបស់ microcontroller រួមជាមួយនឹងសំណុំទូលំទូលាយនៃ examples កំពុងដំណើរការលើក្តារ STMicroelectronics ។ HAL និង LL APIs មាននៅក្នុងអាជ្ញាប័ណ្ណ BSD ប្រភពបើកចំហសម្រាប់ភាពងាយស្រួលរបស់អ្នកប្រើប្រាស់។ វាក៏រួមបញ្ចូលផងដែរនូវសមាសធាតុ Sigfox™, FatFS និង FreeRTOS™ ខឺណែលកណ្តាល។
- កញ្ចប់ MCU STM32CubeWL3 ក៏ផ្តល់នូវកម្មវិធី និងការបង្ហាញជាច្រើនដែលអនុវត្តសមាសធាតុកណ្តាលទាំងអស់របស់វា។
- ប្លង់សមាសភាគកញ្ចប់ STM32CubeWL3 MCU ត្រូវបានបង្ហាញក្នុងរូបភាពទី 1 ។

ស្ថាបត្យកម្ម STM32CubeWL3 ត្រូវបានបញ្ចប់view
- ដំណោះស្រាយកញ្ចប់ STM32CubeWL3 MCU ត្រូវបានបង្កើតឡើងនៅជុំវិញកម្រិតឯករាជ្យចំនួនបី ដែលងាយស្រួលធ្វើអន្តរកម្មដូចដែលបានពិពណ៌នាក្នុងរូបភាពទី 2 ។

កម្រិត 0
កម្រិតនេះត្រូវបានបែងចែកជាបីស្រទាប់រង៖
- កញ្ចប់គាំទ្រក្តារ (BSP) ។
- ស្រទាប់អរូបីផ្នែករឹង (HAL)៖
- កម្មវិធីបញ្ជាគ្រឿងកុំព្យូទ័រ HAL
- អ្នកបើកបរស្រទាប់ទាប
- ការប្រើប្រាស់គ្រឿងកុំព្យូទ័រជាមូលដ្ឋាន ឧamples ។
កញ្ចប់គាំទ្រក្តារ (BSP)
ស្រទាប់នេះផ្តល់នូវសំណុំនៃ APIs ដែលទាក់ទងទៅនឹងសមាសធាតុផ្នែករឹងនៅក្នុងបន្ទះ hardware (ដូចជា LEDs, buttons, and COM drivers)។ វាមានពីរផ្នែក៖
សមាសភាគ៖
- នេះគឺជាកម្មវិធីបញ្ជាដែលទាក់ទងទៅនឹងឧបករណ៍ខាងក្រៅនៅលើក្តារ និងមិនមែន STM32 ទេ។ កម្មវិធីបញ្ជាសមាសភាគផ្តល់ APIs ជាក់លាក់ដល់សមាសធាតុខាងក្រៅរបស់កម្មវិធីបញ្ជា BSP ហើយអាចចល័តបាននៅលើក្តារផ្សេងទៀត។
- កម្មវិធីបញ្ជា BSP៖
- វាអនុញ្ញាតឱ្យភ្ជាប់កម្មវិធីបញ្ជាសមាសភាគទៅក្រុមប្រឹក្សាភិបាលជាក់លាក់មួយ និងផ្តល់នូវសំណុំនៃ API ដែលងាយស្រួលប្រើ។ ច្បាប់ដាក់ឈ្មោះ API គឺ BSP_FUNCT_Action()។
- Exampឡេ៖ BSP_LED_Init(), BSP_LED_On()
BSP គឺផ្អែកលើស្ថាបត្យកម្មម៉ូឌុលដែលអនុញ្ញាតឱ្យងាយស្រួលច្រកលើផ្នែករឹងណាមួយដោយគ្រាន់តែអនុវត្តទម្លាប់កម្រិតទាបប៉ុណ្ណោះ។
ស្រទាប់អរូបីផ្នែករឹង (HAL) និងស្រទាប់ទាប (LL)
STM32CubeWL3 HAL និង LL គឺជាការបំពេញបន្ថែម និងគ្របដណ្តប់លើតម្រូវការកម្មវិធីជាច្រើន៖
- កម្មវិធីបញ្ជា HAL ផ្តល់ជូននូវ APIs ចល័តកម្រិតខ្ពស់ដែលផ្តោតលើមុខងារកម្រិតខ្ពស់។ ពួកគេលាក់ MCU និងភាពស្មុគស្មាញគ្រឿងកុំព្យូទ័រដល់អ្នកប្រើប្រាស់ចុងក្រោយ។
កម្មវិធីបញ្ជា HAL ផ្តល់នូវ APIs តម្រង់ទិសលក្ខណៈពិសេសពហុវត្ថុទូទៅ ដែលជួយសម្រួលដល់ការអនុវត្តកម្មវិធីរបស់អ្នកប្រើប្រាស់ដោយផ្តល់នូវដំណើរការរួចរាល់សម្រាប់ប្រើប្រាស់។ សម្រាប់អតីតample សម្រាប់គ្រឿងកុំព្យូទ័រទំនាក់ទំនង (I2C, UART និងផ្សេងទៀត) វាផ្តល់នូវ APIs ដែលអនុញ្ញាតឱ្យចាប់ផ្តើម និងកំណត់រចនាសម្ព័ន្ធគ្រឿងកុំព្យូទ័រ គ្រប់គ្រងការផ្ទេរទិន្នន័យដោយផ្អែកលើការស្ទង់មតិ ការរំខាន ឬដំណើរការ DMA និងការដោះស្រាយកំហុសទំនាក់ទំនងដែលអាចកើតឡើងក្នុងអំឡុងពេលទំនាក់ទំនង។ APIs កម្មវិធីបញ្ជា HAL ត្រូវបានបែងចែកជាពីរប្រភេទ៖- Generic APIs ដែលផ្តល់មុខងារទូទៅ និងទូទៅដល់ microcontrollers ស៊េរី STM32 ទាំងអស់។
- Extension APIs ដែលផ្តល់មុខងារជាក់លាក់ និងប្ដូរតាមបំណងសម្រាប់គ្រួសារជាក់លាក់ ឬលេខផ្នែកជាក់លាក់មួយ។
- APIs ស្រទាប់ទាបផ្តល់នូវ APIs កម្រិតទាបនៅកម្រិតចុះឈ្មោះ ជាមួយនឹងការបង្កើនប្រសិទ្ធភាពប្រសើរជាងមុន ប៉ុន្តែការចល័តតិចជាង។
ពួកគេទាមទារចំណេះដឹងជ្រៅជ្រះនៃ MCU និងការបញ្ជាក់គ្រឿងកុំព្យូទ័រ។
កម្មវិធីបញ្ជា LL ត្រូវបានរចនាឡើងដើម្បីផ្តល់នូវស្រទាប់ដែលមានទម្ងន់ស្រាលលឿន តម្រង់ទិសអ្នកជំនាញ ដែលនៅជិតផ្នែករឹងជាង HAL ។ ផ្ទុយពី HAL LL APIs មិនត្រូវបានផ្តល់ជូនសម្រាប់គ្រឿងកុំព្យូទ័រដែលការចូលប្រើដែលបានធ្វើឱ្យប្រសើរមិនមែនជាលក្ខណៈសំខាន់ ឬសម្រាប់អ្នកដែលត្រូវការការកំណត់រចនាសម្ព័ន្ធកម្មវិធីធ្ងន់ៗ ឬជង់កម្រិតខ្ពស់ស្មុគស្មាញ។
លក្ខណៈពិសេសរបស់អ្នកបើកបរ LL: - សំណុំនៃមុខងារដើម្បីចាប់ផ្តើមមុខងារសំខាន់នៃគ្រឿងកុំព្យូទ័រដោយយោងតាមប៉ារ៉ាម៉ែត្រដែលបានបញ្ជាក់នៅក្នុងរចនាសម្ព័ន្ធទិន្នន័យ។
- សំណុំនៃមុខងារដើម្បីបំពេញរចនាសម្ព័ន្ធទិន្នន័យការចាប់ផ្តើមជាមួយនឹងតម្លៃកំណត់ឡើងវិញដែលត្រូវគ្នាទៅនឹងវាលនីមួយៗ។
- អនុគមន៍សម្រាប់ការលុបការចាប់ផ្ដើមគ្រឿងកុំព្យូទ័រ (ការចុះឈ្មោះគ្រឿងកុំព្យូទ័របានស្ដារទៅតម្លៃលំនាំដើមរបស់វា)។
- សំណុំនៃមុខងារក្នុងជួរសម្រាប់ការចូលដំណើរការចុះឈ្មោះដោយផ្ទាល់ និងអាតូមិច។
- ឯករាជ្យពេញលេញពី HAL និងសមត្ថភាពប្រើប្រាស់ក្នុងទម្រង់ឯកកោ (ដោយគ្មានកម្មវិធីបញ្ជា HAL) ។
- ការគ្របដណ្តប់ពេញលេញនៃលក្ខណៈពិសេសគ្រឿងកុំព្យូទ័រដែលគាំទ្រ។
ការប្រើប្រាស់គ្រឿងកុំព្យូទ័រជាមូលដ្ឋាន ឧamples
ស្រទាប់នេះរុំព័ទ្ធអតីតamples បានសាងសង់លើគ្រឿងកុំព្យូទ័រ STM32 ដោយប្រើតែធនធាន HAL និង BSP ប៉ុណ្ណោះ។
ចំណាំ៖ បាតុកម្ម ឧamples ក៏អាចរកបានដើម្បីបង្ហាញ ex ស្មុគស្មាញបន្ថែមទៀតample សេណារីយ៉ូជាមួយគ្រឿងកុំព្យូទ័រជាក់លាក់ដូចជា MRSUBG និង LPAWUR ។
កម្រិត 1
កម្រិតនេះត្រូវបានបែងចែកជាពីរស្រទាប់រង៖
- សមាសធាតុឧបករណ៍កណ្តាល
- Examples ផ្អែកលើសមាសធាតុឧបករណ៍កណ្តាល
សមាសធាតុឧបករណ៍កណ្តាល
Middleware គឺជាសំណុំនៃបណ្ណាល័យដែលគ្របដណ្តប់លើ FreeRTOS™ ខឺណែល FatFS និង Sigfox™ protocol library។
អន្តរកម្មផ្តេករវាងធាតុផ្សំនៃស្រទាប់នេះត្រូវបានធ្វើឡើងដោយការហៅ APIs ដែលមានលក្ខណៈពិសេស។
អន្តរកម្មបញ្ឈរជាមួយកម្មវិធីបញ្ជាស្រទាប់ទាបត្រូវបានធ្វើតាមរយៈការហៅត្រឡប់មកវិញជាក់លាក់ និងម៉ាក្រូឋិតិវន្តដែលបានអនុវត្តនៅក្នុងចំណុចប្រទាក់ហៅប្រព័ន្ធបណ្ណាល័យ។
លក្ខណៈសំខាន់ៗនៃសមាសភាគឧបករណ៍កណ្តាលនីមួយៗមានដូចខាងក្រោម៖
- ខឺណែល FreeRTOS ™៖ អនុវត្តប្រព័ន្ធប្រតិបត្តិការពេលវេលាពិត (RTOS) ដែលត្រូវបានរចនាឡើងសម្រាប់ប្រព័ន្ធបង្កប់។
- Sigfox™៖ អនុវត្តបណ្ណាល័យពិធីការ Sigfox™ អនុលោមតាមបណ្តាញពិធីការ Sigfox™ និងរួមបញ្ចូលបណ្ណាល័យពិធីការសាកល្បង RF ដើម្បីសាកល្បងប្រឆាំងនឹងឧបករណ៍ RF Sigfox™ ។
- FatFS: អនុវត្ត FAT ទូទៅ file ម៉ូឌុលប្រព័ន្ធ។
Examples ផ្អែកលើសមាសធាតុឧបករណ៍កណ្តាល
- សមាសធាតុឧបករណ៍កណ្តាលនីមួយៗភ្ជាប់មកជាមួយអតីតមួយ ឬច្រើន។amples, ហៅផងដែរថាកម្មវិធីបង្ហាញពីរបៀបប្រើវា។
- ការរួមបញ្ចូលឧamples ដែលប្រើសមាសធាតុកណ្តាលជាច្រើនត្រូវបានផ្តល់ជូនផងដែរ។
កញ្ចប់កម្មវិធីបង្កប់ STM32CubeWL3 ចប់ហើយ។view
ឧបករណ៍ និងផ្នែករឹង STM32WL3x ដែលគាំទ្រ
- STM32Cube ផ្តល់នូវស្រទាប់អរូបីផ្នែករឹងចល័តខ្ពស់ (HAL) ដែលបង្កើតឡើងជុំវិញស្ថាបត្យកម្មទូទៅ។ វាអនុញ្ញាតឱ្យគោលការណ៍បង្កើតស្រទាប់ ដូចជាការប្រើស្រទាប់កណ្តាលដើម្បីអនុវត្តមុខងាររបស់ពួកគេដោយមិនដឹង ស៊ីជម្រៅ ថាតើ MCU ត្រូវបានប្រើអ្វីខ្លះ។ វាធ្វើអោយប្រសើរឡើងនូវលទ្ធភាពប្រើប្រាស់ឡើងវិញនៃកូដបណ្ណាល័យ និងធានានូវភាពងាយស្រួលនៃការដឹកជញ្ជូនទៅកាន់ឧបករណ៍ផ្សេងទៀត។
- លើសពីនេះទៀតជាមួយនឹងស្ថាបត្យកម្មស្រទាប់របស់វា STM32CubeWL3 ផ្តល់នូវការគាំទ្រពេញលេញសម្រាប់ខ្សែផលិតផល STM32WL3x ទាំងអស់។
- អ្នកប្រើប្រាស់ត្រូវតែកំណត់ម៉ាក្រូត្រឹមត្រូវក្នុង stm32wl3x.h ប៉ុណ្ណោះ។
- តារាងទី 1 បង្ហាញម៉ាក្រូដើម្បីកំណត់អាស្រ័យលើឧបករណ៍ខ្សែផលិតផល STM32WL3x ដែលបានប្រើ។ ម៉ាក្រូនេះក៏ត្រូវតែកំណត់នៅក្នុងកម្មវិធីចងក្រងជាមុនផងដែរ។
តារាងទី 1. ម៉ាក្រូសម្រាប់ខ្សែផលិតផល STM32WL3x
| ម៉ាក្រូដែលបានកំណត់ក្នុង STM32WL3X.h | ឧបករណ៍ខ្សែផលិតផល STM32WL3x |
| stm32wl3x | STM32WL30xx microcontrollers STM32WL31xx microcontrollers STM32WL33xx microcontrollers |
តារាង 2. ក្តារសម្រាប់ខ្សែផលិតផល STM32WL3x
| ក្តារ | ឧបករណ៍ដែលគាំទ្របន្ទះ STM32WL3x |
| NUCLEO-WL33CC1 | STM32WL33CC |
| NUCLEO-WL33CC2 | STM32WL33CC |
កញ្ចប់ MCU STM32CubeWL3 អាចដំណើរការលើផ្នែករឹងណាមួយដែលត្រូវគ្នា។ អ្នកប្រើធ្វើបច្ចុប្បន្នភាពកម្មវិធីបញ្ជា BSP ដើម្បីច្រកឧamples នៅលើក្តាររបស់ពួកគេ ប្រសិនបើទាំងនេះមានលក្ខណៈពិសេសផ្នែករឹងដូចគ្នា (ដូចជា LEDs ឬប៊ូតុង)។
កញ្ចប់កម្មវិធីបង្កប់លើសview
- ដំណោះស្រាយកញ្ចប់ STM32CubeWL3 MCU ត្រូវបានផ្តល់ជូនក្នុងកញ្ចប់ហ្ស៊ីបតែមួយ ជាមួយនឹងរចនាសម្ព័ន្ធបង្ហាញក្នុងរូបភាពទី 3 ។

ប្រយ័ត្ន៖ អ្នកប្រើប្រាស់មិនត្រូវកែប្រែសមាសធាតុទេ។ fileស. អ្នកប្រើអាចកែសម្រួលប្រភព \Projects ប៉ុណ្ណោះ។ សម្រាប់ក្រុមប្រឹក្សាភិបាលនីមួយៗសំណុំនៃអតីតamples ត្រូវបានផ្តល់ជូនជាមួយនឹងគម្រោងដែលបានកំណត់ទុកជាមុនសម្រាប់ EWARM, MDK-ARM, និង STM32CubeIDE toolchains ។
រូបភាពទី 4 បង្ហាញពីរចនាសម្ព័ន្ធគម្រោងសម្រាប់បន្ទះ NUCLEO-WL33CCx ។

អតីតamples ត្រូវបានចាត់ថ្នាក់អាស្រ័យលើកម្រិត STM32CubeWL3 ដែលពួកគេអនុវត្ត។ ពួកគេត្រូវបានដាក់ឈ្មោះដូចខាងក្រោមៈ
- កម្រិត 0 ឧamples ត្រូវបានគេហៅថា Examples, ឧamples_LL និង Examples_MIX ។ ពួកគេប្រើកម្មវិធីបញ្ជា HAL រៀងគ្នា កម្មវិធីបញ្ជា LL និងកម្មវិធីបញ្ជា HAL និង LL ចម្រុះដោយមិនមានធាតុផ្សំផ្នែកកណ្តាលណាមួយឡើយ។ បាតុកម្ម ឧamples ក៏មានផងដែរ។
- កម្រិត 1 ឧamples ត្រូវបានគេហៅថាកម្មវិធី។ ពួកគេផ្តល់នូវករណីប្រើប្រាស់ធម្មតានៃសមាសភាគឧបករណ៍កណ្តាលនីមួយៗ។
កម្មវិធីកម្មវិធីបង្កប់ណាមួយសម្រាប់ក្តារដែលបានផ្តល់ឱ្យអាចត្រូវបានបង្កើតយ៉ាងឆាប់រហ័សដោយប្រើគម្រោងគំរូដែលមាននៅក្នុងថតឯកសារ Templates និង Templates_LL ។
Examples, ឧamples_LL និង Examples_MIX មានរចនាសម្ព័ន្ធដូចគ្នា៖
- ថតឯកសារ \inc ដែលមានបឋមកថាទាំងអស់។ files.
- \src ថតដែលមានកូដប្រភព។
- ថត \EWARM, \MDK-ARM និង \STM32CubeIDE ដែលមានគម្រោងដែលបានកំណត់ទុកជាមុនសម្រាប់ខ្សែសង្វាក់ឧបករណ៍នីមួយៗ។
- readme.md និង readme.html ពិពណ៌នាអំពីអតីតample អាកប្បកិរិយា និងបរិស្ថានដែលត្រូវការដើម្បីធ្វើឱ្យវាដំណើរការ។
ចាប់ផ្តើមជាមួយ STM32CubeWL3
ដំណើរការអតីតអតីតample
ផ្នែកនេះពន្យល់ពីរបៀបដែលវាសាមញ្ញក្នុងការដំណើរការអតីតដំបូងampនៅក្នុង STM32CubeWL3. វាប្រើជាការបង្ហាញអំពីការបង្កើតការបិទបើក LED ដ៏សាមញ្ញមួយដែលកំពុងដំណើរការនៅលើបន្ទះ NUCLEO-WL33CC1៖
- ទាញយកកញ្ចប់ MCU STM32CubeWL3 ។
- ពន្លាវា ឬដំណើរការកម្មវិធីដំឡើងប្រសិនបើបានផ្តល់ ទៅក្នុងបញ្ជីនៃជម្រើសរបស់អ្នក។
- ត្រូវប្រាកដថាមិនត្រូវកែប្រែរចនាសម្ព័ន្ធកញ្ចប់ដែលបង្ហាញក្នុងរូបភាពទី 3 ។ រចនាសម្ព័ន្ធកញ្ចប់កម្មវិធីបង្កប់ STM32CubeWL3 ។ សូមចំណាំថា វាត្រូវបានផ្ដល់អនុសាសន៍ផងដែរក្នុងការចម្លងកញ្ចប់នៅទីតាំងជិតនឹងភាគ root (មានន័យថា C:\ST ឬ G:\Tests) ដោយសារ IDE មួយចំនួនជួបប្រទះបញ្ហានៅពេលផ្លូវវែងពេក។
របៀបដំណើរការ HAL example
មុនពេលផ្ទុក និងដំណើរការអតីតample, វាត្រូវបានផ្ដល់អនុសាសន៍យ៉ាងខ្លាំងឱ្យអានអតីតampអានខ្ញុំ file សម្រាប់ការកំណត់ជាក់លាក់ណាមួយ។
- រុករកទៅ \Projects\NUCLEO-WL33CC\Examples ។
- បើក \GPIO បន្ទាប់មក\GPIO_EXTI ថត។
- បើកគម្រោងដោយប្រើខ្សែសង្វាក់ឧបករណ៍ដែលពេញចិត្ត។ លឿនជាងview អំពីរបៀបបើក បង្កើត និងដំណើរការអតីតample ជាមួយ toolchains ដែលគាំទ្រត្រូវបានផ្តល់ឱ្យខាងក្រោម។
- កសាងឡើងវិញទាំងអស់។ files ហើយផ្ទុករូបភាពទៅក្នុងអង្គចងចាំគោលដៅ។
- រត់អតីតampលេ សម្រាប់ព័ត៌មានលម្អិត សូមមើល exampអានខ្ញុំ file.
ដើម្បីបើក បង្កើត និងដំណើរការអតីតampជាមួយនឹងខ្សែសង្វាក់ឧបករណ៍នីមួយៗដែលបានគាំទ្រ សូមអនុវត្តតាមជំហានខាងក្រោម៖
- ក្តៅ៖
- នៅក្រោម Examples folder បើកថតរង \EWARM ។
- បើកដំណើរការ Project.eww workspace (ឈ្មោះកន្លែងធ្វើការអាចផ្លាស់ប្តូរពីអតីតមួយ។ampទៅមួយទៀត) ។
- កសាងឡើងវិញទាំងអស់។ files: [គម្រោង]> [កសាងឡើងវិញទាំងអស់]។
- ផ្ទុករូបភាពគម្រោង៖ [គម្រោង]> [បំបាត់កំហុស]។
- ដំណើរការកម្មវិធី៖ [Debug]>[Go (F5)]។
- MDK-ARM៖
- នៅក្រោម Examples folder បើកថតរង MDK-ARM ។
- បើកកន្លែងធ្វើការ Project.uvproj (ឈ្មោះកន្លែងធ្វើការអាចផ្លាស់ប្តូរពីអតីតមួយ។ampទៅមួយទៀត) ។
- កសាងឡើងវិញទាំងអស់។ files: [គម្រោង]>[កសាងឡើងវិញនូវគោលដៅទាំងអស់។ files] ។
- ផ្ទុករូបភាពគម្រោង៖ [Debug]>[Start/Stop Debug Session]។
- ដំណើរការកម្មវិធី៖ [បំបាត់កំហុស]> [រត់ (F5)] ។
- STM32CubeIDE៖
- បើកខ្សែសង្វាក់ឧបករណ៍ STM32CubeIDE ។
- ចុចលើ [File]>[Switch Workspace]>[Other] ហើយរកមើលទៅកាន់ថតកន្លែងធ្វើការ STM32CubeIDE។
- ចុចលើ [File]>[នាំចូល] ជ្រើសរើស [ទូទៅ]>[គម្រោងដែលមានស្រាប់ទៅក្នុងកន្លែងធ្វើការ] ហើយបន្ទាប់មកចុច [បន្ទាប់]។
- រកមើលទៅកាន់ថតកន្លែងធ្វើការ STM32CubeIDE ហើយជ្រើសរើសគម្រោង។
- សាងសង់ឡើងវិញនូវគម្រោងទាំងអស់។ files៖ ជ្រើសរើសគម្រោងក្នុងបង្អួច Project Explorer បន្ទាប់មកចុចលើ [Project]> [Build project] menu។
- ដំណើរការកម្មវិធី៖ [រត់]> [បំបាត់កំហុស (F11)] ។
បង្កើតកម្មវិធីផ្ទាល់ខ្លួន
ការប្រើប្រាស់ STM32CubeMX ដើម្បីអភិវឌ្ឍ ឬធ្វើបច្ចុប្បន្នភាពកម្មវិធី
- នៅក្នុងកញ្ចប់ STM32Cube MCU ស្ទើរតែទាំងអស់គម្រោង examples ត្រូវបានបង្កើតដោយប្រើឧបករណ៍ STM32CubeMX ដើម្បីចាប់ផ្តើមប្រព័ន្ធ គ្រឿងកុំព្យូទ័រ និងឧបករណ៍កណ្តាល។
ការប្រើប្រាស់ដោយផ្ទាល់នៃគម្រោងដែលមានស្រាប់ ឧample ពីឧបករណ៍ STM32CubeMX ទាមទារ STM32CubeMX 6.12.0 ឬខ្ពស់ជាងនេះ៖
- បន្ទាប់ពីការដំឡើង STM32CubeMX សូមបើក ហើយប្រសិនបើចាំបាច់ធ្វើបច្ចុប្បន្នភាពគម្រោងដែលបានស្នើឡើង។
វិធីសាមញ្ញបំផុតដើម្បីបើកគម្រោងដែលមានស្រាប់គឺត្រូវចុចពីរដងលើ *.ioc file ដូច្នេះ STM32CubeMX បើកគម្រោង និងប្រភពរបស់វាដោយស្វ័យប្រវត្តិ fileស. STM32CubeMX បង្កើតកូដប្រភពចាប់ផ្តើមនៃគម្រោងបែបនេះ។ - កូដប្រភពកម្មវិធីសំខាន់ត្រូវបានផ្ទុកដោយមតិយោបល់ “USER CODE BEGIN” និង “USER CODE END”។ ប្រសិនបើការជ្រើសរើសគ្រឿងកុំព្យូទ័រ និងការកំណត់ត្រូវបានកែប្រែ STM32CubeMX ធ្វើបច្ចុប្បន្នភាពផ្នែកចាប់ផ្តើមនៃកូដ ខណៈពេលដែលរក្សាកូដប្រភពកម្មវិធីសំខាន់។
- ដើម្បីអភិវឌ្ឍគម្រោងផ្ទាល់ខ្លួនជាមួយ STM32CubeMX សូមអនុវត្តតាមដំណើរការជាជំហានៗ៖
- កំណត់រចនាសម្ព័ន្ធកម្មវិធីដែលបានបង្កប់ដែលត្រូវការទាំងអស់ ដោយប្រើឧបករណ៍ដោះស្រាយជម្លោះ pinout, ជំនួយការកំណត់ដើមឈើនាឡិកា, ម៉ាស៊ីនគិតលេខការប្រើប្រាស់ថាមពល និងឧបករណ៍ប្រើប្រាស់ដែលដំណើរការការកំណត់រចនាសម្ព័ន្ធគ្រឿងកុំព្យូទ័រ MCU (ដូចជា GPIO ឬ USART)។
- បង្កើតកូដការចាប់ផ្ដើម C ដោយផ្អែកលើការកំណត់រចនាសម្ព័ន្ធដែលបានជ្រើស។ កូដនេះរួចរាល់សម្រាប់ប្រើប្រាស់ក្នុងបរិយាកាសអភិវឌ្ឍន៍ជាច្រើន។ លេខកូដអ្នកប្រើប្រាស់ត្រូវបានរក្សាទុកនៅជំនាន់កូដបន្ទាប់។
សម្រាប់ព័ត៌មានបន្ថែមអំពី STM32CubeMX សូមមើលសៀវភៅដៃអ្នកប្រើប្រាស់ STM32CubeMX សម្រាប់ការកំណត់រចនាសម្ព័ន្ធ STM32 និងការចាប់ផ្ដើមបង្កើតកូដ C (UM1718)។
កម្មវិធីអ្នកបើកបរ
កម្មវិធី HAL
ផ្នែកនេះពិពណ៌នាអំពីជំហានដែលត្រូវការដើម្បីបង្កើតកម្មវិធី HAL ផ្ទាល់ខ្លួនដោយប្រើ STM32CubeWL3
- បង្កើតគម្រោងមួយ។
ដើម្បីបង្កើតគម្រោងថ្មី សូមចាប់ផ្តើមពីគម្រោងគំរូដែលបានផ្តល់សម្រាប់ក្តារនីមួយៗនៅក្រោម \Projects\ \ គំរូ ឬពីគម្រោងដែលមាននៅក្រោម \ គម្រោង\ \ ឧamples ឬ \Proj ects\ \\ កម្មវិធី (កន្លែង សំដៅលើឈ្មោះក្តារ) ។
គម្រោងគំរូផ្តល់នូវមុខងាររង្វិលជុំមេទទេ។ ទោះយ៉ាងណាក៏ដោយ វាជាចំណុចចាប់ផ្តើមដ៏ល្អមួយដើម្បីយល់ពីការកំណត់គម្រោង STM32CubeWL3 ។ គំរូមានលក្ខណៈដូចខាងក្រោមៈ- វាមានកូដប្រភព HAL, CMSIS, និង BSP drivers ដែលជាសំណុំអប្បបរមានៃសមាសភាគដែលត្រូវការដើម្បីបង្កើតកូដនៅលើក្តារដែលបានផ្តល់ឱ្យ។
- វាមានផ្លូវដែលរួមបញ្ចូលសម្រាប់សមាសធាតុកម្មវិធីបង្កប់ទាំងអស់។
- វាកំណត់ឧបករណ៍ខ្សែផលិតផល STM32WL3x ដែលគាំទ្រ ដែលអនុញ្ញាតឱ្យកំណត់រចនាសម្ព័ន្ធកម្មវិធីបញ្ជា CMSIS និង HAL ឱ្យបានត្រឹមត្រូវ។
- វាផ្តល់ជូនអ្នកប្រើប្រាស់ដែលត្រៀមរួចជាស្រេច files កំណត់រចនាសម្ព័ន្ធជាមុនដូចបានបង្ហាញខាងក្រោម៖
- HAL បានចាប់ផ្តើមជាមួយនឹងមូលដ្ឋានពេលវេលាលំនាំដើមជាមួយនឹង Arm® core SysTick ។
- SysTick ISR ត្រូវបានអនុវត្តសម្រាប់គោលបំណង HAL_Delay() ។
- ចំណាំ៖ នៅពេលចម្លងគម្រោងដែលមានស្រាប់ទៅទីតាំងផ្សេងទៀត ត្រូវប្រាកដថាផ្លូវដែលបានរួមបញ្ចូលទាំងអស់ត្រូវបានធ្វើបច្ចុប្បន្នភាព។
- កំណត់រចនាសម្ព័ន្ធសមាសធាតុកម្មវិធីបង្កប់
សមាសធាតុ HAL និង Middleware ផ្តល់ជូននូវជម្រើសកំណត់រចនាសម្ព័ន្ធពេលវេលាសាងសង់ដោយប្រើម៉ាក្រូ #define បានប្រកាសនៅក្នុងបឋមកថា file. ការកំណត់រចនាសម្ព័ន្ធគំរូ file ត្រូវបានផ្តល់ជូននៅក្នុងសមាសភាគនីមួយៗ ដែលត្រូវតែចម្លងទៅថតគម្រោង (ជាធម្មតាការកំណត់រចនាសម្ព័ន្ធ file ត្រូវបានដាក់ឈ្មោះថា xxx_conf_template.h ដែលជាបំណែក- គំរូត្រូវដកចេញនៅពេលចម្លងវាទៅថតគម្រោង)។ ការកំណត់រចនាសម្ព័ន្ធ file ផ្តល់ព័ត៌មានគ្រប់គ្រាន់ដើម្បីយល់ពីផលប៉ះពាល់នៃជម្រើសនៃការកំណត់រចនាសម្ព័ន្ធនីមួយៗ។ ព័ត៌មានបន្ថែមមាននៅក្នុងឯកសារដែលបានផ្តល់សម្រាប់សមាសធាតុនីមួយៗ។
- ចាប់ផ្តើមបណ្ណាល័យ HAL
បន្ទាប់ពីលោតទៅកម្មវិធីមេ កូដកម្មវិធីត្រូវតែហៅទៅ HAL_Init() API ដើម្បីចាប់ផ្តើមបណ្ណាល័យ HAL ដែលបំពេញការងារដូចខាងក្រោម៖- ការកំណត់រចនាសម្ព័ន្ធនៃ flash memory prefetch និង SysTick រំខានអាទិភាព (តាមរយៈម៉ាក្រូដែលបានកំណត់ក្នុង stm32 wl3x_hal_conf.h) ។
- ការកំណត់រចនាសម្ព័ន្ធ SysTick ដើម្បីបង្កើតការរំខានរាល់មិល្លីវិនាទីនៅអាទិភាពរំខាន SysTick TICK_INT_PRIO ដែលបានកំណត់ក្នុង stm32wl3x_hal_conf.h ។
- ការកំណត់អាទិភាពក្រុម NVIC ទៅ 0 ។
- ការហៅរបស់មុខងារហៅត្រឡប់មកវិញ HAL_MspInit() ដែលបានកំណត់នៅក្នុងអ្នកប្រើប្រាស់ stm32wl3x_hal_msp.c file ដើម្បីអនុវត្តការចាប់ផ្តើមផ្នែករឹងកម្រិតទាបជាសកល។
- កំណត់រចនាសម្ព័ន្ធនាឡិកា
ការកំណត់រចនាសម្ព័ន្ធនាឡិកាប្រព័ន្ធត្រូវបានធ្វើឡើងដោយហៅ APIs ទាំងពីរដែលបានពិពណ៌នាខាងក្រោម៖- HAL_RCC_OscConfig(): API នេះកំណត់រចនាសម្ព័ន្ធលំយោលខាងក្នុង និងខាងក្រៅ។ អ្នកប្រើប្រាស់ជ្រើសរើស
កំណត់រចនាសម្ព័ន្ធលំយោលមួយ ឬទាំងអស់។ - HAL_RCC_ClockConfig(): API នេះកំណត់រចនាសម្ព័ន្ធប្រភពនាឡិកាប្រព័ន្ធ ភាពយឺតនៃអង្គចងចាំពន្លឺ និងឧបករណ៍កំណត់កម្រិត AHB និង APB ។
- HAL_RCC_OscConfig(): API នេះកំណត់រចនាសម្ព័ន្ធលំយោលខាងក្នុង និងខាងក្រៅ។ អ្នកប្រើប្រាស់ជ្រើសរើស
- ចាប់ផ្តើមគ្រឿងកុំព្យូទ័រ
- ដំបូងត្រូវសរសេរមុខងារចាប់ផ្តើមគ្រឿងកុំព្យូទ័រ។ បន្តដូចខាងក្រោម៖
- បើកនាឡិកាគ្រឿងកុំព្យូទ័រ។
- កំណត់រចនាសម្ព័ន្ធ GPIOs គ្រឿងកុំព្យូទ័រ។
- កំណត់រចនាសម្ព័ន្ធឆានែល DMA និងបើកការរំខាន DMA (ប្រសិនបើចាំបាច់) ។
- បើកការរំខានគ្រឿងកុំព្យូទ័រ (បើចាំបាច់)។
- កែសម្រួល stm32xxx_it.c ដើម្បីហៅទៅឧបករណ៍ដោះស្រាយការរំខានដែលត្រូវការ (គ្រឿងកុំព្យូទ័រ និង DMA) ប្រសិនបើចាំបាច់។
- ដំណើរការសរសេរមុខងារហៅត្រឡប់មកវិញពេញលេញ ប្រសិនបើការរំខានគ្រឿងកុំព្យូទ័រ ឬ DMA មានន័យថាត្រូវបានប្រើ។
- នៅក្នុងអ្នកប្រើប្រាស់ main.c fileចាប់ផ្តើមរចនាសម្ព័ន្ធចំណុចទាញគ្រឿងកុំព្យូទ័រ បន្ទាប់មកហៅមុខងារចាប់ផ្តើមគ្រឿងកុំព្យូទ័រ ដើម្បីចាប់ផ្តើមគ្រឿងកុំព្យូទ័រ។
- អភិវឌ្ឍកម្មវិធី
នៅ សtage ប្រព័ន្ធរួចរាល់ហើយ ការអភិវឌ្ឍន៍កូដកម្មវិធីអ្នកប្រើប្រាស់អាចចាប់ផ្តើម។
HAL ផ្តល់នូវ APIs វិចារណញាណ និងរួចរាល់ក្នុងការប្រើប្រាស់ដើម្បីកំណត់រចនាសម្ព័ន្ធគ្រឿងកុំព្យូទ័រ។ វាគាំទ្រការស្ទង់មតិ ការរំខាន និងគំរូកម្មវិធី DMA ដើម្បីបំពេញតម្រូវការកម្មវិធីណាមួយ។ សម្រាប់ព័ត៌មានលម្អិតបន្ថែមអំពីរបៀបប្រើគ្រឿងកុំព្យូទ័រនីមួយៗ សូមមើលអតីតអ្នកមានampសំណុំដែលបានផ្តល់ឱ្យនៅក្នុងកញ្ចប់ MCU STM32CubeWL3 ។
ប្រយ័ត្ន៖ នៅក្នុងការអនុវត្ត HAL លំនាំដើម កម្មវិធីកំណត់ពេលវេលា SysTick ត្រូវបានប្រើជាមូលដ្ឋានពេលវេលា៖ វាបង្កើតការរំខាននៅចន្លោះពេលទៀងទាត់។ ប្រសិនបើ HAL_Delay() ត្រូវបានហៅចេញពីដំណើរការ ISR គ្រឿងកុំព្យូទ័រ ត្រូវប្រាកដថាការរំខាន SysTick មានអាទិភាពខ្ពស់ (ជាលេខទាបជាង) ជាងការរំខានគ្រឿងកុំព្យូទ័រ។ បើមិនដូច្នោះទេ ដំណើរការ ISR អ្នកហៅចូលត្រូវបានរារាំង។ មុខងារដែលប៉ះពាល់ដល់ការកំណត់រចនាសម្ព័ន្ធពេលវេលាត្រូវបានប្រកាសថា __weak ដើម្បីធ្វើឱ្យការបដិសេធអាចធ្វើទៅបានក្នុងករណីមានការអនុវត្តផ្សេងទៀតនៅក្នុងអ្នកប្រើប្រាស់ file (ដោយប្រើកម្មវិធីកំណត់ពេលវេលាគោលបំណងទូទៅ ឧទាហរណ៍ample ឬប្រភពពេលវេលាផ្សេងទៀត) ។ សម្រាប់ព័ត៌មានលម្អិត សូមមើល HAL_TimeBase exampលេ
កម្មវិធី LL
ផ្នែកនេះពិពណ៌នាអំពីជំហានដែលត្រូវការដើម្បីបង្កើតកម្មវិធី LL ផ្ទាល់ខ្លួនដោយប្រើ STM32CubeWL3 ។
- បង្កើតគម្រោងមួយ។
ដើម្បីបង្កើតគម្រោងថ្មី ចាប់ផ្តើមពីគម្រោង Templates_LL ដែលផ្តល់សម្រាប់ក្តារនីមួយៗនៅក្រោម \Projects\ \Templates_LL ឬពីគម្រោងដែលមាននៅក្រោម \Projects \ ឧamples_ LL ( សំដៅលើឈ្មោះក្រុមប្រឹក្សាភិបាល ដូចជា NUCLEO-WL32CC33)។
គម្រោងគំរូផ្តល់នូវមុខងាររង្វិលជុំមេទទេ ដែលជាចំណុចចាប់ផ្តើមដ៏ល្អដើម្បីយល់ពីការកំណត់គម្រោងសម្រាប់ STM32CubeWL3។ លក្ខណៈសំខាន់ៗនៃគំរូមានដូចខាងក្រោម៖- វាមានកូដប្រភពនៃកម្មវិធីបញ្ជា LL និង CMSIS ដែលជាសំណុំអប្បបរមានៃសមាសភាគដែលត្រូវការដើម្បីបង្កើតកូដនៅលើក្តារដែលបានផ្តល់ឱ្យ។
- វាមានផ្លូវដែលរួមបញ្ចូលសម្រាប់សមាសធាតុកម្មវិធីបង្កប់ដែលត្រូវការទាំងអស់។
- វាជ្រើសរើសឧបករណ៍ខ្សែផលិតផល STM32WL3x ដែលគាំទ្រ និងអនុញ្ញាតឱ្យកំណត់រចនាសម្ព័ន្ធត្រឹមត្រូវនៃកម្មវិធីបញ្ជា CMSIS និង LL ។
- វាផ្តល់ជូនអ្នកប្រើប្រាស់ដែលត្រៀមរួចជាស្រេច files ដែលត្រូវបានកំណត់ជាមុនដូចខាងក្រោម:
- main.h: LED និង USER_BUTTON និយមន័យស្រទាប់អរូបី។
- main.c: ការកំណត់រចនាសម្ព័ន្ធនាឡិកាប្រព័ន្ធសម្រាប់ប្រេកង់អតិបរមា។
- ច្រក LL exampលេ៖
- ចម្លង/បិទភ្ជាប់ថត Templates_LL - ដើម្បីរក្សាប្រភពដំបូង - ឬធ្វើបច្ចុប្បន្នភាពដោយផ្ទាល់នូវគម្រោង Template s_LL ដែលមានស្រាប់។
- បន្ទាប់មក ច្រកមានជាចម្បងក្នុងការជំនួស Templates_LL files ដោយ Exampគម្រោងគោលដៅ les_LL ។
- រក្សាផ្នែកជាក់លាក់នៃក្តារទាំងអស់។ សម្រាប់ហេតុផលនៃភាពច្បាស់លាស់ ផ្នែកជាក់លាក់នៃក្តារត្រូវបានសម្គាល់ដោយជាក់លាក់ tags:

- ដូច្នេះជំហានសំខាន់នៃការច្រកមានដូចខាងក្រោម:
- ជំនួស stm32wl3x_it.h file.
- ជំនួស stm32wl3x_it.c file.
- ជំនួស main.h file ហើយធ្វើបច្ចុប្បន្នភាពវា៖ រក្សាការកំណត់ LED និងប៊ូតុងអ្នកប្រើប្រាស់នៃគំរូ LL នៅក្រោម BOARD SPECIFIC CONFIGURATION tags.
- ជំនួស main.c file ហើយធ្វើបច្ចុប្បន្នភាពវា៖
- រក្សាការកំណត់រចនាសម្ព័ន្ធនាឡិកានៃមុខងារគំរូ SystemClock_Config() LL នៅក្រោម BOARD SPECIFIC CONFIGURATION tags.
- អាស្រ័យលើនិយមន័យ LED ជំនួសការកើតឡើង LDx នីមួយៗជាមួយនឹង LDy ផ្សេងទៀតដែលមាននៅក្នុង file main.h.
- ជាមួយនឹងការកែប្រែទាំងនេះ ឧample រត់លើក្តារដែលបានកំណត់។
កម្មវិធី RF ការបង្ហាញ និងឧamples
ប្រភេទផ្សេងគ្នានៃកម្មវិធី RF ការបង្ហាញ និងឧamples មាននៅក្នុងកញ្ចប់ STM32CubeWL3។
ពួកវាត្រូវបានរាយក្នុងផ្នែកពីរខាងក្រោម។
Sub-GHz ឧamples និងបាតុកម្ម
ទាំងនេះ អតីតamples បង្ហាញពីលក្ខណៈសំខាន់ៗនៃគ្រឿងបរិក្ខារវិទ្យុ MRSUBG និង LPAWUR ។ ទាំងនេះ អតីតamples អាចរកបាននៅក្រោម:
- គម្រោង\NUCLEO-WL33CC\Examples\MRSUBG
- គម្រោង\NUCLEO-WL33CC\Examples\LPAWUR
- គម្រោង\NUCLEO-WL33CC\Demonstrations\MRSUBG
- គម្រោង\NUCLEO-WL33CC\Demonstrations\LPAWUR
អតីតនីមួយៗample ឬ demonstration ជាទូទៅមានកម្មវិធីពីរហៅថា Tx និង Rx ដើរតួជាអ្នកបញ្ជូន និងអ្នកទទួល រៀងគ្នា៖
Examples/MRSUBG
- MRSUBG_802_15_4៖ ការអនុវត្តនៃស្រទាប់រូបវន្តដែលកំណត់ដោយស្តង់ដារ 802.15.4។ វាបង្ហាញពីរបៀបកំណត់រចនាសម្ព័ន្ធវិទ្យុដើម្បីបញ្ជូន ឬទទួលកញ្ចប់ព័ត៌មាន 802.15.4 ។
- MRSUBG_BasicGeneric៖ ការផ្លាស់ប្តូរកញ្ចប់ព័ត៌មានមូលដ្ឋាន STM32WL3x MR_SUBG។
- MRSUBG_Chat៖ ជាកម្មវិធីសាមញ្ញដែលបង្ហាញពីរបៀបប្រើ Tx និង Rx នៅលើឧបករណ៍តែមួយ។
- MRSUBG_DatabufferHandler៖ អតីតample ដែលបង្ហាញពីរបៀបប្តូរពី Databuffer 0 និង 1 ។
- MRSUBG_Sequencer AutoAck៖ ឧample ដែលបញ្ជូន និងទទួលការទទួលស្គាល់កញ្ចប់ព័ត៌មាន (ACKs) ដោយស្វ័យប្រវត្តិ។
- MRSUBG_WMBusSTD៖ ការផ្លាស់ប្តូរសារ WM-Bus។
- WakeupRadio៖ អតីតampឡេដើម្បីសាកល្បងគ្រឿងបរិក្ខារវិទ្យុ LPAWUR ។
បាតុកម្ម/MRSUBG
- MRSUBG_RTC_Button_TX៖ នេះឧample បង្ហាញពីរបៀបកំណត់ SoC នៅក្នុងរបៀប deep-stop និងកំណត់រចនាសម្ព័ន្ធ MRSUBG ដើម្បីដាស់ SoC ដោយចុច PB2 ដើម្បីផ្ញើស៊ុម ឬបន្ទាប់ពីការផុតកំណត់កម្មវិធីកំណត់ម៉ោង RTC ។
- MRSUBG_Sequencer_Sniff៖ នេះឧample បង្ហាញពីរបៀបកំណត់ MRSUBG sequencer ដើម្បីដំណើរការក្នុងរបៀប sniff ។ អតីតample បង្ហាញផ្នែកអ្នកទទួល និងទាមទារឧបករណ៍ផ្សេងទៀតជាឧបករណ៍បញ្ជូន។
- MRSUBG_Timer៖ កម្មវិធីកំណត់ពេលវេលាជាច្រើននៃកម្មវិធីកំណត់ម៉ោង MRSUBG (ជាមួយនឹងការផ្ទុកឡើងវិញដោយស្វ័យប្រវត្តិ) ជាមួយនឹងចន្លោះពេលខុសៗគ្នា។
- MRSUBG_WakeupRadio_Tx៖ នេះ ឧample ពន្យល់ពីរបៀបកំណត់ SoC នៅក្នុងរបៀបបញ្ឈប់ជ្រៅ និងកំណត់រចនាសម្ព័ន្ធ MRSUBG ដើម្បីដាស់ SoC ដោយចុច PB2 ដើម្បីផ្ញើស៊ុម។ អតីតample បង្ហាញផ្នែកបញ្ជូន និងទាមទារឧបករណ៍ផ្សេងទៀតជាអ្នកទទួល LPAWUR ។ អ្នកទទួល ឧample មានទីតាំងនៅក្រោមថត NUCLEO-WL33CC\Demonstrations\LPAWUR\LPAWUR_WakeupRadio_Rx ។
បាតុកម្ម / LPAWUR
- LPAWUR_WakeupRadio_Rx៖ អតីតample ពន្យល់ពីរបៀបកំណត់ SoC ក្នុងទម្រង់ស៊ីជម្រៅ និងកំណត់រចនាសម្ព័ន្ធ LPAWUR ដើម្បីដាស់ SoC នៅពេលស៊ុមមកដល់ ហើយត្រូវបានទទួលយ៉ាងត្រឹមត្រូវ។ អតីតample បង្ហាញផ្នែកអ្នកទទួល និងទាមទារឧបករណ៍ផ្សេងទៀតជាឧបករណ៍បញ្ជូន។ ឧបករណ៍បញ្ជូន ឧample មានទីតាំងនៅក្រោមថត NUCLEO-WL33CC\Demonstrations\MRSUBG\MRSUBG_WakeupRadio_Tx ។
កម្មវិធី Sigfox™
កម្មវិធីទាំងនេះបង្ហាញពីរបៀបអនុវត្តសេណារីយ៉ូ Sigfox™ និងប្រើប្រាស់ Sigfox™ APIs ដែលមាន។ ពួកវាមាននៅក្នុងផ្លូវគម្រោង Projects\NUCLEO-WL33CC\Applications\Sigfox\:
- Sigfox_CLI៖ កម្មវិធីនេះបង្ហាញពីរបៀបប្រើចំណុចប្រទាក់បន្ទាត់ពាក្យបញ្ជា (CLI) ដើម្បីផ្ញើពាក្យបញ្ជាដែលប្រើពិធីការ Sigfox™ ដើម្បីផ្ញើសារ និងអនុវត្តការធ្វើតេស្តការបញ្ជាក់ជាមុន។
- Sigfox_PushButton៖ កម្មវិធីនេះអនុញ្ញាតឱ្យវាយតម្លៃសមត្ថភាពវិទ្យុឧបករណ៍ STM32WL33xx Sigfox™។ ការចុច PB1 បញ្ជូនស៊ុម Sigfox™ សាកល្បង។
ប្រវត្តិនៃការពិនិត្យឡើងវិញ
តារាងទី 3. ប្រវត្តិកែប្រែឯកសារ
| កាលបរិច្ឆេទ | ការពិនិត្យឡើងវិញ | ការផ្លាស់ប្តូរ |
| 29-មីនា-2024 | 1 | ការចេញផ្សាយដំបូង។ |
| ២៥-តុលា-២០០៧ | 2 | ការរួមបញ្ចូលពេញលេញនៃ STM32CubeWL3 នៅក្នុង STM32Cube ។ បានធ្វើបច្ចុប្បន្នភាព៖
• សេចក្តីផ្តើម • ផ្នែកទី 2៖ លក្ខណៈសំខាន់ៗរបស់ STM32CubeWL3 • ផ្នែកទី 3.2.1៖ សមាសធាតុឧបករណ៍កណ្តាល • ផ្នែកទី 4៖ កញ្ចប់កម្មវិធីបង្កប់ STM32CubeWL3 ត្រូវបានបញ្ចប់view • ផ្នែកទី 5.1៖ ដំណើរការអតីតample • ផ្នែកទី 5.3៖ កម្មវិធី RF ការបង្ហាញ និងឧamples បន្ថែម៖ • ផ្នែកទី 5.1.1៖ របៀបដំណើរការ HAL example • ផ្នែកទី 5.2.1៖ ការប្រើប្រាស់ STM32CubeMX ដើម្បីអភិវឌ្ឍ ឬធ្វើបច្ចុប្បន្នភាពកម្មវិធី • សection 6.4: តើមានគម្រោងគំរូណាមួយសម្រាប់ MRSUBG/LPAWUR peripheral examples? • ផ្នែកទី 6.5៖ តើ STM32CubeMX អាចបង្កើតកូដដោយផ្អែកលើកម្មវិធីដែលបានបង្កប់ដោយរបៀបណា? បានដកចេញ៖ • ឧបករណ៍កុំព្យូទ័ររួមទាំង អ្នករុករក, STM32WL3 GUI, និង MR-SUBG Sequencer GUI • តើ WiSE-Studio IOMapper អាចបង្កើតកូដដោយផ្អែកលើកម្មវិធីដែលបានបង្កប់ដោយរបៀបណា? • តើ Navigator អនុញ្ញាតឱ្យចូលប្រើធនធានកញ្ចប់កម្មវិធីទេ? |
| ១៣-មករា-២២ | 3 | បានពង្រីកជួរនៃឧបករណ៍ដែលអាចអនុវត្តបានទៅឧបករណ៍បញ្ជាមីក្រូ STM32WL30xx និង STM32WL31xx នៅក្នុងតារាងទី 1។ ម៉ាក្រូសម្រាប់ខ្សែផលិតផល STM32WL3x ។ |
ការជូនដំណឹងសំខាន់ - អានដោយប្រុងប្រយ័ត្ន
- STMicroelectronics NV និងក្រុមហ៊ុនបុត្រសម្ព័ន្ធរបស់ខ្លួន (“ST”) រក្សាសិទ្ធិដើម្បីធ្វើការផ្លាស់ប្តូរ ការកែតម្រូវ ការកែលម្អ ការកែប្រែ និងការកែលម្អចំពោះផលិតផល ST និង/ឬឯកសារនេះនៅពេលណាមួយដោយគ្មានការជូនដំណឹងជាមុន។ អ្នកទិញគួរតែទទួលបានព័ត៌មានពាក់ព័ន្ធចុងក្រោយបំផុតលើផលិតផល ST មុនពេលធ្វើការបញ្ជាទិញ។ ផលិតផល ST ត្រូវបានលក់ដោយអនុលោមតាមលក្ខខណ្ឌនៃការលក់របស់ ST នៅពេលទទួលស្គាល់ការបញ្ជាទិញ។
- អ្នកទិញទទួលខុសត្រូវទាំងស្រុងចំពោះជម្រើស ការជ្រើសរើស និងការប្រើប្រាស់ផលិតផល ST ហើយ ST មិនទទួលខុសត្រូវចំពោះជំនួយកម្មវិធី ឬការរចនាផលិតផលរបស់អ្នកទិញឡើយ។
- គ្មានអាជ្ញាប័ណ្ណ បង្ហាញ ឬបង្កប់ន័យចំពោះសិទ្ធិកម្មសិទ្ធិបញ្ញាណាមួយត្រូវបានផ្តល់ដោយ ST នៅទីនេះ។
- ការលក់បន្តនៃផលិតផល ST ជាមួយនឹងបទប្បញ្ញត្តិខុសពីព័ត៌មានដែលមានចែងនៅទីនេះ នឹងត្រូវចាត់ទុកជាមោឃៈនូវការធានាណាមួយដែលផ្តល់ដោយ ST សម្រាប់ផលិតផលនោះ។
- ST និងនិមិត្តសញ្ញា ST គឺជាពាណិជ្ជសញ្ញារបស់ ST ។ សម្រាប់ព័ត៌មានបន្ថែមអំពីពាណិជ្ជសញ្ញា ST សូមមើល www.st.com/trademarks. ឈ្មោះផលិតផល ឬសេវាកម្មផ្សេងទៀតទាំងអស់គឺជាកម្មសិទ្ធិរបស់ម្ចាស់រៀងៗខ្លួន។
- ព័ត៌មាននៅក្នុងឯកសារនេះជំនួស និងជំនួសព័ត៌មានដែលបានផ្តល់ពីមុននៅក្នុងកំណែមុននៃឯកសារនេះ។
- © 2025 STMicroelectronics - រក្សាសិទ្ធិគ្រប់យ៉ាង
សំណួរគេសួរញឹកញាប់
តើខ្ញុំគួរប្រើ HAL ជំនួសអ្នកបើកបរ LL នៅពេលណា?
កម្មវិធីបញ្ជា HAL ផ្តល់ជូននូវ APIs កម្រិតខ្ពស់ និងតម្រង់ទិសមុខងារ ជាមួយនឹងកម្រិតខ្ពស់នៃការចល័ត។ ភាពស្មុគស្មាញនៃផលិតផល ឬគ្រឿងកុំព្យូទ័រត្រូវបានលាក់សម្រាប់អ្នកប្រើប្រាស់ចុងក្រោយ។ កម្មវិធីបញ្ជា LL ផ្តល់ជូន APIs កម្រិតចុះឈ្មោះកម្រិតទាបជាមួយនឹងការបង្កើនប្រសិទ្ធភាពកាន់តែប្រសើរ ប៉ុន្តែអាចចល័តបានតិចជាង។ ពួកគេត្រូវការចំណេះដឹងស៊ីជម្រៅអំពីផលិតផល ឬលក្ខណៈបច្ចេកទេស IP ។
តើ LL ចាប់ផ្តើម APIs ត្រូវបានបើកដោយរបៀបណា?
និយមន័យនៃ APIs ចាប់ផ្តើមដំបូងរបស់ LL និងរចនាសម្ព័ន្ធធនធានដែលពាក់ព័ន្ធតាមព្យញ្ជនៈ និងគំរូត្រូវបានកំណត់ដោយ USE_FULL_LL_DRIVER កុងតាក់ចងក្រង។ ដើម្បីអាចប្រើ LL initialization APIs សូមបន្ថែមកុងតាក់នេះនៅក្នុង toolchain compiler preprocessor។
តើមានគម្រោងគំរូណាមួយសម្រាប់ MRSUBG/LPAWUR peripheral examples?
ដើម្បីបង្កើត MRSUBG ឬ LPAWUR ថ្មីampគម្រោង le ចាប់ផ្តើមពីគម្រោងគ្រោងឆ្អឹងដែលផ្តល់នៅក្រោមគម្រោង Pr NUCLEO- 33CC Examples MRSUBG ឬ ProjectsNUCLEO-WL33CC Examples LPAWUR ឬពីគម្រោងដែលមាននៅក្រោមថតដូចគ្នាទាំងនេះ។
តើ STM32CubeMX អាចបង្កើតកូដដោយផ្អែកលើកម្មវិធីដែលបានបង្កប់ដោយរបៀបណា?
STM32CubeMX មានចំណេះដឹងដែលភ្ជាប់មកជាមួយនូវឧបករណ៍បញ្ជាមីក្រូ STM32 រួមទាំងគ្រឿងកុំព្យូទ័រ និងកម្មវិធីរបស់ពួកគេ ដែលអនុញ្ញាតឱ្យវាផ្តល់នូវតំណាងក្រាហ្វិកដល់អ្នកប្រើប្រាស់ និងបង្កើត .h ឬ .c files ផ្អែកលើការកំណត់របស់អ្នកប្រើ។
ឯកសារ/ធនធាន
![]() |
ឧបករណ៍បញ្ជា ST STM32WL3x [pdf] សៀវភៅណែនាំអ្នកប្រើប្រាស់ STM32WL3x Microcontrollers, STM32WL3x, Microcontrollers |

