ST-LOGO

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

STM32WL3x-Microcontrollers-PRODUCT

ការណែនាំអំពីការប្រើប្រាស់ផលិតផល

  • កញ្ចប់ 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 (ឬសាខារបស់ខ្លួន) នៅសហរដ្ឋអាមេរិក និង/ឬកន្លែងផ្សេងទៀត។

STM32WL3x-Microcontrollers-FIG-1

លក្ខណៈពិសេសរបស់ 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 ។

STM32WL3x-Microcontrollers-FIG-2

ស្ថាបត្យកម្ម STM32CubeWL3 ត្រូវបានបញ្ចប់view

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

STM32WL3x-Microcontrollers-FIG-3

កម្រិត 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 ។

STM32WL3x-Microcontrollers-FIG-4

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

STM32WL3x-Microcontrollers-FIG-5

អតីត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៖

  1. ទាញយកកញ្ចប់ MCU STM32CubeWL3 ។
  2. ពន្លាវា ឬដំណើរការកម្មវិធីដំឡើងប្រសិនបើបានផ្តល់ ទៅក្នុងបញ្ជីនៃជម្រើសរបស់អ្នក។
  3. ត្រូវប្រាកដថាមិនត្រូវកែប្រែរចនាសម្ព័ន្ធកញ្ចប់ដែលបង្ហាញក្នុងរូបភាពទី 3 ។ រចនាសម្ព័ន្ធកញ្ចប់កម្មវិធីបង្កប់ STM32CubeWL3 ។ សូមចំណាំថា វាត្រូវបានផ្ដល់អនុសាសន៍ផងដែរក្នុងការចម្លងកញ្ចប់នៅទីតាំងជិតនឹងភាគ root (មានន័យថា C:\ST ឬ G:\Tests) ដោយសារ IDE មួយចំនួនជួបប្រទះបញ្ហានៅពេលផ្លូវវែងពេក។

របៀបដំណើរការ HAL example
មុនពេលផ្ទុក និងដំណើរការអតីតample, វាត្រូវបានផ្ដល់អនុសាសន៍យ៉ាងខ្លាំងឱ្យអានអតីតampអានខ្ញុំ file សម្រាប់ការកំណត់ជាក់លាក់ណាមួយ។

  1. រុករកទៅ \Projects\NUCLEO-WL33CC\Examples ។
  2. បើក \GPIO បន្ទាប់មក\GPIO_EXTI ថត។
  3. បើកគម្រោងដោយប្រើខ្សែសង្វាក់ឧបករណ៍ដែលពេញចិត្ត។ លឿនជាងview អំពីរបៀបបើក បង្កើត និងដំណើរការអតីតample ជាមួយ toolchains ដែលគាំទ្រត្រូវបានផ្តល់ឱ្យខាងក្រោម។
  4. កសាងឡើងវិញទាំងអស់។ files ហើយផ្ទុករូបភាពទៅក្នុងអង្គចងចាំគោលដៅ។
  5. រត់អតីតampលេ សម្រាប់ព័ត៌មានលម្អិត សូមមើល exampអានខ្ញុំ file.

ដើម្បីបើក បង្កើត និងដំណើរការអតីតampជាមួយ​នឹង​ខ្សែសង្វាក់​ឧបករណ៍​នីមួយៗ​ដែល​បាន​គាំទ្រ សូម​អនុវត្ត​តាម​ជំហាន​ខាងក្រោម៖

  • ក្តៅ៖
    1. នៅក្រោម Examples folder បើកថតរង \EWARM ។
    2. បើកដំណើរការ Project.eww workspace (ឈ្មោះកន្លែងធ្វើការអាចផ្លាស់ប្តូរពីអតីតមួយ។ampទៅមួយទៀត) ។
    3. កសាងឡើងវិញទាំងអស់។ files: [គម្រោង]> [កសាងឡើងវិញទាំងអស់]។
    4. ផ្ទុករូបភាពគម្រោង៖ [គម្រោង]> [បំបាត់កំហុស]។
    5. ដំណើរការកម្មវិធី៖ [Debug]>[Go (F5)]។
  • MDK-ARM៖
    1. នៅក្រោម Examples folder បើកថតរង MDK-ARM ។
    2. បើកកន្លែងធ្វើការ Project.uvproj (ឈ្មោះកន្លែងធ្វើការអាចផ្លាស់ប្តូរពីអតីតមួយ។ampទៅមួយទៀត) ។
    3. កសាងឡើងវិញទាំងអស់។ files: [គម្រោង]>[កសាងឡើងវិញនូវគោលដៅទាំងអស់។ files] ។
    4. ផ្ទុករូបភាពគម្រោង៖ [Debug]>[Start/Stop Debug Session]។
    5. ដំណើរការកម្មវិធី៖ [បំបាត់កំហុស]> [រត់ (F5)] ។
  • STM32CubeIDE៖
    1. បើកខ្សែសង្វាក់ឧបករណ៍ STM32CubeIDE ។
    2. ចុចលើ [File]>[Switch Workspace]>[Other] ហើយរកមើលទៅកាន់ថតកន្លែងធ្វើការ STM32CubeIDE។
    3. ចុចលើ [File]>[នាំចូល] ជ្រើសរើស [ទូទៅ]>[គម្រោងដែលមានស្រាប់ទៅក្នុងកន្លែងធ្វើការ] ហើយបន្ទាប់មកចុច [បន្ទាប់]។
    4. រកមើលទៅកាន់ថតកន្លែងធ្វើការ STM32CubeIDE ហើយជ្រើសរើសគម្រោង។
    5. សាងសង់ឡើងវិញនូវគម្រោងទាំងអស់។ files៖ ជ្រើសរើសគម្រោងក្នុងបង្អួច Project Explorer បន្ទាប់មកចុចលើ [Project]> [Build project] menu។
    6. ដំណើរការកម្មវិធី៖ [រត់]> [បំបាត់កំហុស (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 សូមអនុវត្តតាមដំណើរការជាជំហានៗ៖
    1. កំណត់រចនាសម្ព័ន្ធកម្មវិធីដែលបានបង្កប់ដែលត្រូវការទាំងអស់ ដោយប្រើឧបករណ៍ដោះស្រាយជម្លោះ pinout, ជំនួយការកំណត់ដើមឈើនាឡិកា, ម៉ាស៊ីនគិតលេខការប្រើប្រាស់ថាមពល និងឧបករណ៍ប្រើប្រាស់ដែលដំណើរការការកំណត់រចនាសម្ព័ន្ធគ្រឿងកុំព្យូទ័រ MCU (ដូចជា GPIO ឬ USART)។
    2. បង្កើត​កូដ​ការ​ចាប់​ផ្ដើម C ដោយ​ផ្អែក​លើ​ការ​កំណត់​រចនាសម្ព័ន្ធ​ដែល​បាន​ជ្រើស។ កូដនេះរួចរាល់សម្រាប់ប្រើប្រាស់ក្នុងបរិយាកាសអភិវឌ្ឍន៍ជាច្រើន។ លេខកូដអ្នកប្រើប្រាស់ត្រូវបានរក្សាទុកនៅជំនាន់កូដបន្ទាប់។
      សម្រាប់ព័ត៌មានបន្ថែមអំពី STM32CubeMX សូមមើលសៀវភៅដៃអ្នកប្រើប្រាស់ STM32CubeMX សម្រាប់ការកំណត់រចនាសម្ព័ន្ធ STM32 និងការចាប់ផ្ដើមបង្កើតកូដ C (UM1718)។

កម្មវិធីអ្នកបើកបរ
កម្មវិធី HAL
ផ្នែកនេះពិពណ៌នាអំពីជំហានដែលត្រូវការដើម្បីបង្កើតកម្មវិធី HAL ផ្ទាល់ខ្លួនដោយប្រើ STM32CubeWL3

  1. បង្កើតគម្រោងមួយ។
    ដើម្បីបង្កើតគម្រោងថ្មី សូមចាប់ផ្តើមពីគម្រោងគំរូដែលបានផ្តល់សម្រាប់ក្តារនីមួយៗនៅក្រោម \Projects\ \ គំរូ ឬពីគម្រោងដែលមាននៅក្រោម \ គម្រោង\ \ ឧamples ឬ \Proj ects\ \\ កម្មវិធី (កន្លែង សំដៅលើឈ្មោះក្តារ) ។
    គម្រោងគំរូផ្តល់នូវមុខងាររង្វិលជុំមេទទេ។ ទោះយ៉ាងណាក៏ដោយ វាជាចំណុចចាប់ផ្តើមដ៏ល្អមួយដើម្បីយល់ពីការកំណត់គម្រោង STM32CubeWL3 ។ គំរូមានលក្ខណៈដូចខាងក្រោមៈ
    • វាមានកូដប្រភព HAL, CMSIS, និង BSP drivers ដែលជាសំណុំអប្បបរមានៃសមាសភាគដែលត្រូវការដើម្បីបង្កើតកូដនៅលើក្តារដែលបានផ្តល់ឱ្យ។
    • វាមានផ្លូវដែលរួមបញ្ចូលសម្រាប់សមាសធាតុកម្មវិធីបង្កប់ទាំងអស់។
    • វាកំណត់ឧបករណ៍ខ្សែផលិតផល STM32WL3x ដែលគាំទ្រ ដែលអនុញ្ញាតឱ្យកំណត់រចនាសម្ព័ន្ធកម្មវិធីបញ្ជា CMSIS និង HAL ឱ្យបានត្រឹមត្រូវ។
    • វាផ្តល់ជូនអ្នកប្រើប្រាស់ដែលត្រៀមរួចជាស្រេច files កំណត់រចនាសម្ព័ន្ធជាមុនដូចបានបង្ហាញខាងក្រោម៖
    • HAL បានចាប់ផ្តើមជាមួយនឹងមូលដ្ឋានពេលវេលាលំនាំដើមជាមួយនឹង Arm® core SysTick ។
    • SysTick ISR ត្រូវបានអនុវត្តសម្រាប់គោលបំណង HAL_Delay() ។
    • ចំណាំ៖ នៅពេលចម្លងគម្រោងដែលមានស្រាប់ទៅទីតាំងផ្សេងទៀត ត្រូវប្រាកដថាផ្លូវដែលបានរួមបញ្ចូលទាំងអស់ត្រូវបានធ្វើបច្ចុប្បន្នភាព។
  2. កំណត់រចនាសម្ព័ន្ធសមាសធាតុកម្មវិធីបង្កប់
    សមាសធាតុ HAL និង Middleware ផ្តល់ជូននូវជម្រើសកំណត់រចនាសម្ព័ន្ធពេលវេលាសាងសង់ដោយប្រើម៉ាក្រូ #define បានប្រកាសនៅក្នុងបឋមកថា file. ការកំណត់រចនាសម្ព័ន្ធគំរូ file ត្រូវបានផ្តល់ជូននៅក្នុងសមាសភាគនីមួយៗ ដែលត្រូវតែចម្លងទៅថតគម្រោង (ជាធម្មតាការកំណត់រចនាសម្ព័ន្ធ file ត្រូវបានដាក់ឈ្មោះថា xxx_conf_template.h ដែលជាបំណែក
    • គំរូត្រូវដកចេញនៅពេលចម្លងវាទៅថតគម្រោង)។ ការកំណត់រចនាសម្ព័ន្ធ file ផ្តល់ព័ត៌មានគ្រប់គ្រាន់ដើម្បីយល់ពីផលប៉ះពាល់នៃជម្រើសនៃការកំណត់រចនាសម្ព័ន្ធនីមួយៗ។ ព័ត៌មានបន្ថែមមាននៅក្នុងឯកសារដែលបានផ្តល់សម្រាប់សមាសធាតុនីមួយៗ។
  3. ចាប់ផ្តើមបណ្ណាល័យ 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 ដើម្បីអនុវត្តការចាប់ផ្តើមផ្នែករឹងកម្រិតទាបជាសកល។
  4. កំណត់រចនាសម្ព័ន្ធនាឡិកា
    ការកំណត់រចនាសម្ព័ន្ធនាឡិកាប្រព័ន្ធត្រូវបានធ្វើឡើងដោយហៅ APIs ទាំងពីរដែលបានពិពណ៌នាខាងក្រោម៖
    • HAL_RCC_OscConfig(): API នេះកំណត់រចនាសម្ព័ន្ធលំយោលខាងក្នុង និងខាងក្រៅ។ អ្នកប្រើប្រាស់ជ្រើសរើស
      កំណត់រចនាសម្ព័ន្ធលំយោលមួយ ឬទាំងអស់។
    • HAL_RCC_ClockConfig(): API នេះកំណត់រចនាសម្ព័ន្ធប្រភពនាឡិកាប្រព័ន្ធ ភាពយឺតនៃអង្គចងចាំពន្លឺ និងឧបករណ៍កំណត់កម្រិត AHB និង APB ។
  5. ចាប់ផ្តើមគ្រឿងកុំព្យូទ័រ
    • ដំបូងត្រូវសរសេរមុខងារចាប់ផ្តើមគ្រឿងកុំព្យូទ័រ។ បន្តដូចខាងក្រោម៖
    • បើកនាឡិកាគ្រឿងកុំព្យូទ័រ។
    • កំណត់រចនាសម្ព័ន្ធ GPIOs គ្រឿងកុំព្យូទ័រ។
    • កំណត់រចនាសម្ព័ន្ធឆានែល DMA និងបើកការរំខាន DMA (ប្រសិនបើចាំបាច់) ។
    • បើកការរំខានគ្រឿងកុំព្យូទ័រ (បើចាំបាច់)។
    • កែសម្រួល stm32xxx_it.c ដើម្បីហៅទៅឧបករណ៍ដោះស្រាយការរំខានដែលត្រូវការ (គ្រឿងកុំព្យូទ័រ និង DMA) ប្រសិនបើចាំបាច់។
    • ដំណើរការសរសេរមុខងារហៅត្រឡប់មកវិញពេញលេញ ប្រសិនបើការរំខានគ្រឿងកុំព្យូទ័រ ឬ DMA មានន័យថាត្រូវបានប្រើ។
    • នៅក្នុងអ្នកប្រើប្រាស់ main.c fileចាប់ផ្តើមរចនាសម្ព័ន្ធចំណុចទាញគ្រឿងកុំព្យូទ័រ បន្ទាប់មកហៅមុខងារចាប់ផ្តើមគ្រឿងកុំព្យូទ័រ ដើម្បីចាប់ផ្តើមគ្រឿងកុំព្យូទ័រ។
  6. អភិវឌ្ឍកម្មវិធី
    នៅ សtage ប្រព័ន្ធរួចរាល់ហើយ ការអភិវឌ្ឍន៍កូដកម្មវិធីអ្នកប្រើប្រាស់អាចចាប់ផ្តើម។
    HAL ផ្តល់នូវ APIs វិចារណញាណ និងរួចរាល់ក្នុងការប្រើប្រាស់ដើម្បីកំណត់រចនាសម្ព័ន្ធគ្រឿងកុំព្យូទ័រ។ វាគាំទ្រការស្ទង់មតិ ការរំខាន និងគំរូកម្មវិធី DMA ដើម្បីបំពេញតម្រូវការកម្មវិធីណាមួយ។ សម្រាប់ព័ត៌មានលម្អិតបន្ថែមអំពីរបៀបប្រើគ្រឿងកុំព្យូទ័រនីមួយៗ សូមមើលអតីតអ្នកមានampសំណុំដែលបានផ្តល់ឱ្យនៅក្នុងកញ្ចប់ MCU STM32CubeWL3 ។

ប្រយ័ត្ន៖ នៅក្នុងការអនុវត្ត HAL លំនាំដើម កម្មវិធីកំណត់ពេលវេលា SysTick ត្រូវបានប្រើជាមូលដ្ឋានពេលវេលា៖ វាបង្កើតការរំខាននៅចន្លោះពេលទៀងទាត់។ ប្រសិនបើ HAL_Delay() ត្រូវបានហៅចេញពីដំណើរការ ISR គ្រឿងកុំព្យូទ័រ ត្រូវប្រាកដថាការរំខាន SysTick មានអាទិភាពខ្ពស់ (ជាលេខទាបជាង) ជាងការរំខានគ្រឿងកុំព្យូទ័រ។ បើមិនដូច្នោះទេ ដំណើរការ ISR អ្នកហៅចូលត្រូវបានរារាំង។ មុខងារដែលប៉ះពាល់ដល់ការកំណត់រចនាសម្ព័ន្ធពេលវេលាត្រូវបានប្រកាសថា __weak ដើម្បីធ្វើឱ្យការបដិសេធអាចធ្វើទៅបានក្នុងករណីមានការអនុវត្តផ្សេងទៀតនៅក្នុងអ្នកប្រើប្រាស់ file (ដោយប្រើកម្មវិធីកំណត់ពេលវេលាគោលបំណងទូទៅ ឧទាហរណ៍ample ឬប្រភពពេលវេលាផ្សេងទៀត) ។ សម្រាប់ព័ត៌មានលម្អិត សូមមើល HAL_TimeBase exampលេ

កម្មវិធី LL
ផ្នែកនេះពិពណ៌នាអំពីជំហានដែលត្រូវការដើម្បីបង្កើតកម្មវិធី LL ផ្ទាល់ខ្លួនដោយប្រើ STM32CubeWL3 ។

  1. បង្កើតគម្រោងមួយ។
    ដើម្បីបង្កើតគម្រោងថ្មី ចាប់ផ្តើមពីគម្រោង Templates_LL ដែលផ្តល់សម្រាប់ក្តារនីមួយៗនៅក្រោម \Projects\ \Templates_LL ឬពីគម្រោងដែលមាននៅក្រោម \Projects \ ឧamples_ LL ( សំដៅលើឈ្មោះក្រុមប្រឹក្សាភិបាល ដូចជា NUCLEO-WL32CC33)។
    គម្រោងគំរូផ្តល់នូវមុខងាររង្វិលជុំមេទទេ ដែលជាចំណុចចាប់ផ្តើមដ៏ល្អដើម្បីយល់ពីការកំណត់គម្រោងសម្រាប់ STM32CubeWL3។ លក្ខណៈសំខាន់ៗនៃគំរូមានដូចខាងក្រោម៖
    • វាមានកូដប្រភពនៃកម្មវិធីបញ្ជា LL និង CMSIS ដែលជាសំណុំអប្បបរមានៃសមាសភាគដែលត្រូវការដើម្បីបង្កើតកូដនៅលើក្តារដែលបានផ្តល់ឱ្យ។
    • វាមានផ្លូវដែលរួមបញ្ចូលសម្រាប់សមាសធាតុកម្មវិធីបង្កប់ដែលត្រូវការទាំងអស់។
    • វាជ្រើសរើសឧបករណ៍ខ្សែផលិតផល STM32WL3x ដែលគាំទ្រ និងអនុញ្ញាតឱ្យកំណត់រចនាសម្ព័ន្ធត្រឹមត្រូវនៃកម្មវិធីបញ្ជា CMSIS និង LL ។
    • វាផ្តល់ជូនអ្នកប្រើប្រាស់ដែលត្រៀមរួចជាស្រេច files ដែលត្រូវបានកំណត់ជាមុនដូចខាងក្រោម:
    • main.h: LED និង USER_BUTTON និយមន័យស្រទាប់អរូបី។
    • main.c: ការកំណត់រចនាសម្ព័ន្ធនាឡិកាប្រព័ន្ធសម្រាប់ប្រេកង់អតិបរមា។
  2. ច្រក LL exampលេ៖
    • ចម្លង/បិទភ្ជាប់ថត Templates_LL - ដើម្បីរក្សាប្រភពដំបូង - ឬធ្វើបច្ចុប្បន្នភាពដោយផ្ទាល់នូវគម្រោង Template s_LL ដែលមានស្រាប់។
    • បន្ទាប់មក ច្រកមានជាចម្បងក្នុងការជំនួស Templates_LL files ដោយ Exampគម្រោងគោលដៅ les_LL ។
    • រក្សាផ្នែកជាក់លាក់នៃក្តារទាំងអស់។ សម្រាប់ហេតុផលនៃភាពច្បាស់លាស់ ផ្នែកជាក់លាក់នៃក្តារត្រូវបានសម្គាល់ដោយជាក់លាក់ tags:STM32WL3x-Microcontrollers-FIG-6
    • ដូច្នេះ​ជំហាន​សំខាន់​នៃ​ការ​ច្រក​មាន​ដូច​ខាង​ក្រោម​:
    • ជំនួស 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

ឯកសារយោង

ទុកមតិយោបល់

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ វាលដែលត្រូវការត្រូវបានសម្គាល់ *