កញ្ចប់កម្មវិធី STM32WL3x
លក្ខណៈបច្ចេកទេស
- ឈ្មោះផលិតផល៖ កញ្ចប់កម្មវិធី STM32CubeWL3
- ភាពឆបគ្នា៖ STM32WL3x microcontrollers
- លក្ខណៈពិសេសចម្បង៖
- ស្រទាប់ទាប (LL) និងស្រទាប់អរូបីផ្នែករឹង (HAL) APIs
- SigfoxTM, FatFS, និង FreeRTOSTM ខឺណែលផ្នែកកណ្តាល
- កម្មវិធី និងការបង្ហាញ
ការណែនាំអំពីការប្រើប្រាស់ផលិតផល
ការចាប់ផ្តើម
ដើម្បីចាប់ផ្តើមប្រើប្រាស់កញ្ចប់កម្មវិធី STM32CubeWL3 សូមអនុវត្តតាមជំហានទាំងនេះ៖
- ទាញយកកញ្ចប់កម្មវិធីពីផ្លូវការ webគេហទំព័រ។
- ដំឡើងបរិស្ថានអភិវឌ្ឍន៍ចាំបាច់ (ឧទាហរណ៍ STM32CubeIDE, EWARM, MDK-ARM) ។
- យោងទៅអតីតamples និងកម្មវិធីដែលបានផ្តល់សម្រាប់ការណែនាំ។
ស្ថាបត្យកម្ម STM32CubeWL3 ត្រូវបានបញ្ចប់view
កញ្ចប់កម្មវិធី STM32CubeWL3 ត្រូវបានបង្កើតឡើងនៅជុំវិញកម្រិតសំខាន់ៗចំនួនបី
- កម្រិត 0៖ ស្រទាប់អរូបីផ្នែករឹង (HAL) និងកម្មវិធីបញ្ជា BSP ។
- កម្រិត 1៖ កម្មវិធី បណ្ណាល័យ និងសមាសធាតុផ្អែកលើពិធីការ។
សំណួរដែលសួរញឹកញាប់ (FAQ)
សំណួរ៖ តើកញ្ចប់កម្មវិធី STM32CubeWL3 មានលក្ខណៈពិសេសអ្វីខ្លះ?
ចម្លើយ៖ លក្ខណៈពិសេសសំខាន់ៗរួមមាន ស្រទាប់ទាប និង HAL APIs សមាសធាតុឧបករណ៍កណ្តាលដូចជា SigfoxTM, FatFS, FreeRTOSTM ខឺណែល កម្មវិធី និងការបង្ហាញ។
សេចក្តីផ្តើម
STM32Cube គឺជាគំនិតផ្តួចផ្តើមដើមរបស់ STMicroelectronics ដើម្បីបង្កើនផលិតភាពអ្នករចនាយ៉ាងសំខាន់ ដោយកាត់បន្ថយការខិតខំប្រឹងប្រែងក្នុងការអភិវឌ្ឍន៍ ពេលវេលា និងការចំណាយ។ STM32Cube គ្របដណ្តប់លើផលប័ត្រ STM32 ទាំងមូល។
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 ធានានូវដំណើរការល្អបំផុត និងស្នាមជើងជាមួយនឹងកម្រិតខ្ពស់នៃការគ្រប់គ្រងអ្នកប្រើប្រាស់លើ] hardware
- សំណុំនៃសមាសភាគផ្នែកកណ្តាលដូចជា 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+ ។ វាប្រមូលផ្តុំនៅក្នុងកញ្ចប់តែមួយ សមាសធាតុសូហ្វវែរដែលបានបង្កប់ទូទៅទាំងអស់ដែលទាមទារដើម្បីបង្កើតកម្មវិធីសម្រាប់ microcontrollers បន្ទាត់ផលិតផល STM32WL3x ។
- កញ្ចប់រួមមានស្រទាប់ទាប (LL) និងស្រទាប់អរូបីផ្នែករឹង (HAL) APIs ដែលគ្របដណ្ដប់លើផ្នែករឹងរបស់ microcontroller រួមជាមួយនឹងសំណុំទូលំទូលាយនៃ examples កំពុងដំណើរការលើក្តារ STMicroelectronics ។ HAL និង LL APIs មាននៅក្នុងអាជ្ញាប័ណ្ណ BSD ប្រភពបើកចំហសម្រាប់ភាពងាយស្រួលរបស់អ្នកប្រើប្រាស់។ វាក៏រួមបញ្ចូលផងដែរនូវសមាសធាតុ Sigfox™, FatFS និង FreeRTOS™ ខឺណែលកណ្តាល។
- កញ្ចប់ MCU STM32CubeWL3 ក៏ផ្តល់នូវកម្មវិធី និងការបង្ហាញជាច្រើនដែលអនុវត្តសមាសធាតុកណ្តាលទាំងអស់របស់វា។
- ប្លង់សមាសភាគកញ្ចប់ STM32CubeWL3 MCU ត្រូវបានបង្ហាញក្នុងរូបភាពទី 1 ។
រូបភាពទី 1. សមាសធាតុកញ្ចប់ MCU STM32CubeWL3
ស្ថាបត្យកម្ម 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 |
stm32wl33 | ឧបករណ៍បញ្ជាមីក្រូ STM32WL33xx |
STM32CubeWL3 មានលក្ខណៈពិសេសជាច្រើននៃអតីតamples និងកម្មវិធីនៅគ្រប់កម្រិត ដែលធ្វើឱ្យវាងាយស្រួលយល់ និងប្រើកម្មវិធីបញ្ជា HAL ឬសមាសធាតុផ្នែកកណ្តាលណាមួយ។ ទាំងនេះ អតីតamples ដំណើរការនៅលើក្តារ STMicroelectronics ដែលមានរាយក្នុងតារាងទី 2 ។
ក្តារ | ឧបករណ៍ដែលគាំទ្របន្ទះ STM32WL3x |
NUCLEO-WL33CC1 | STM32WL33CC |
NUCLEO-WL33CC2 | STM32WL33CC |
កញ្ចប់ MCU STM32CubeWL3 អាចដំណើរការលើផ្នែករឹងណាមួយដែលត្រូវគ្នា។ អ្នកប្រើគ្រាន់តែធ្វើបច្ចុប្បន្នភាពកម្មវិធីបញ្ជា BSP ដើម្បីច្រកឧamples នៅលើក្តាររបស់ពួកគេ ប្រសិនបើទាំងនេះមានលក្ខណៈពិសេសផ្នែករឹងដូចគ្នា (ដូចជា LEDs ឬប៊ូតុង)។
កញ្ចប់កម្មវិធីបង្កប់លើសview
ដំណោះស្រាយកញ្ចប់ STM32CubeWL3 MCU ត្រូវបានផ្តល់ជូនក្នុងកញ្ចប់ zip តែមួយដែលមានរចនាសម្ព័ន្ធបង្ហាញក្នុងរូបភាពទី 3 ។
រូបភាពទី 3. រចនាសម្ព័ន្ធកញ្ចប់កម្មវិធីបង្កប់ STM32CubeWL3
ប្រយ័ត្ន៖
អ្នកប្រើប្រាស់មិនត្រូវកែប្រែសមាសធាតុទេ។ 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 ត្រូវបានគេហៅថាកម្មវិធី។ ពួកគេផ្តល់នូវករណីប្រើប្រាស់ធម្មតានៃសមាសភាគឧបករណ៍កណ្តាលនីមួយៗ។
កម្មវិធីកម្មវិធីបង្កប់ណាមួយសម្រាប់ក្តារដែលបានផ្តល់ឱ្យអាចត្រូវបានបង្កើតយ៉ាងឆាប់រហ័សដោយប្រើគម្រោងគំរូដែលមាននៅក្នុងថត Templ ates និង 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 បន្ទាប់មកចុចលើ
[គម្រោង]> [គម្រោងសាងសង់] ម៉ឺនុយ។ - ដំណើរការកម្មវិធី៖ [រត់]> [បំបាត់កំហុស (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\< STM32xxx_yyy>\Templates ឬពីគម្រោងដែលមាននៅក្រោម \Projects \ ឧampl es ឬ \\ គម្រោង \\ \\ កម្មវិធី (កន្លែងណា សំដៅលើឈ្មោះក្តារ) ។ គម្រោងគំរូផ្តល់នូវមុខងាររង្វិលជុំមេទទេ។ ទោះយ៉ាងណាក៏ដោយ វាជាចំណុចចាប់ផ្តើមដ៏ល្អមួយដើម្បីយល់ពីការកំណត់គម្រោង STM32CubeWL32 ។ គំរូមានលក្ខណៈដូចខាងក្រោមៈ- វាមានកូដប្រភព 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 បំណែក _template ត្រូវការដកចេញនៅពេលចម្លងវាទៅថតគម្រោង)។ ការកំណត់រចនាសម្ព័ន្ធ file ផ្តល់ព័ត៌មានគ្រប់គ្រាន់ដើម្បីយល់ពីផលប៉ះពាល់នៃជម្រើសនៃការកំណត់រចនាសម្ព័ន្ធនីមួយៗ។ ព័ត៌មានបន្ថែមមាននៅក្នុងឯកសារដែលបានផ្តល់សម្រាប់សមាសធាតុនីមួយៗ។ - ចាប់ផ្តើមបណ្ណាល័យ HAL
បន្ទាប់ពីលោតទៅកម្មវិធីមេ កូដកម្មវិធីត្រូវតែហៅទៅ HAL_Init() API ដើម្បីចាប់ផ្តើមបណ្ណាល័យ HAL ដែលបំពេញការងារដូចខាងក្រោម៖- ការកំណត់រចនាសម្ព័ន្ធនៃ flash memory prefetch និង SysTick រំខានអាទិភាព (តាមរយៈម៉ាក្រូដែលបានកំណត់ក្នុង stm3 2wl3x_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 ។
- ចាប់ផ្តើមគ្រឿងកុំព្យូទ័រ
- ដំបូងត្រូវសរសេរមុខងារចាប់ផ្តើមគ្រឿងកុំព្យូទ័រ។ បន្តដូចខាងក្រោម៖
- បើកនាឡិកាគ្រឿងកុំព្យូទ័រ។
- កំណត់រចនាសម្ព័ន្ធ 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 \ អ៊ី xamples_LL ( សំដៅលើឈ្មោះក្រុមប្រឹក្សាភិបាល ដូចជា NUCLEO-WL32CC33)។
គម្រោងគំរូផ្តល់នូវមុខងាររង្វិលជុំមេទទេ ដែលជាចំណុចចាប់ផ្តើមដ៏ល្អដើម្បីយល់ពីការកំណត់គម្រោងសម្រាប់ STM32CubeWL3។ លក្ខណៈសំខាន់ៗនៃគំរូមានដូចខាងក្រោម៖- វាមានកូដប្រភពនៃកម្មវិធីបញ្ជា LL និង CMSIS ដែលជាសំណុំអប្បបរមានៃសមាសភាគដែលត្រូវការដើម្បីបង្កើតកូដនៅលើក្តារដែលបានផ្តល់ឱ្យ។
- វាមានផ្លូវដែលរួមបញ្ចូលសម្រាប់សមាសធាតុកម្មវិធីបង្កប់ដែលត្រូវការទាំងអស់។
- វាជ្រើសរើសឧបករណ៍ខ្សែផលិតផល STM32WL3x ដែលគាំទ្រ និងអនុញ្ញាតឱ្យកំណត់រចនាសម្ព័ន្ធត្រឹមត្រូវនៃកម្មវិធីបញ្ជា CMSIS និង LL ។
- វាផ្តល់ជូនអ្នកប្រើប្រាស់ដែលត្រៀមរួចជាស្រេច files ដែលត្រូវបានកំណត់ជាមុនដូចខាងក្រោម:
- main.h: LED និង USER_BUTTON និយមន័យស្រទាប់អរូបី។
- main.c: ការកំណត់រចនាសម្ព័ន្ធនាឡិកាប្រព័ន្ធសម្រាប់ប្រេកង់អតិបរមា។
- ច្រក LL exampលេ៖
- ចម្លង/បិទភ្ជាប់ថត Templates_LL - ដើម្បីរក្សាប្រភពដំបូង - ឬធ្វើបច្ចុប្បន្នភាពដោយផ្ទាល់នូវគម្រោង Templa tes_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_WakeupRad io_Rx ។
- បាតុកម្ម / LPAWUR
- LPAWUR_WakeupRadio_Rx៖ អតីតample ពន្យល់ពីរបៀបកំណត់ SoC ក្នុងទម្រង់ស៊ីជម្រៅ និងកំណត់រចនាសម្ព័ន្ធ LPAWUR ដើម្បីដាស់ SoC នៅពេលស៊ុមមកដល់ ហើយត្រូវបានទទួលយ៉ាងត្រឹមត្រូវ។ អតីតample បង្ហាញផ្នែកអ្នកទទួល និងទាមទារឧបករណ៍ផ្សេងទៀតជាឧបករណ៍បញ្ជូន។ ឧបករណ៍បញ្ជូន ឧample មានទីតាំងនៅក្រោមថត NUCLEO-WL33CC\Demonstrations\MRSUBG\MRSUBG_WakeupRad io_Tx ។
កម្មវិធី Sigfox™
កម្មវិធីទាំងនេះបង្ហាញពីរបៀបអនុវត្តសេណារីយ៉ូ Sigfox™ និងប្រើប្រាស់ Sigfox™ APIs ដែលមាន។ ពួកវាមាននៅក្នុងផ្លូវគម្រោង Projects\NUCLEO-WL33CC\Applications\Sigfox\:
- Sigfox_CLI៖ កម្មវិធីនេះបង្ហាញពីរបៀបប្រើចំណុចប្រទាក់បន្ទាត់ពាក្យបញ្ជា (CLI) ដើម្បីផ្ញើពាក្យបញ្ជាដែលប្រើពិធីការ Sigfox™ ដើម្បីផ្ញើសារ និងអនុវត្តការធ្វើតេស្តការបញ្ជាក់ជាមុន។
- Sigfox_PushButton៖ កម្មវិធីនេះអនុញ្ញាតឱ្យវាយតម្លៃសមត្ថភាពវិទ្យុឧបករណ៍ STM32WL33xx Sigfox™។ ការចុច PB1 បញ្ជូនស៊ុម Sigfox™ សាកល្បង។
សំណួរគេសួរញឹកញាប់
- តើខ្ញុំគួរប្រើ HAL ជំនួសអ្នកបើកបរ LL នៅពេលណា?
កម្មវិធីបញ្ជា HAL ផ្តល់ជូននូវ APIs កម្រិតខ្ពស់ និងតម្រង់ទិសមុខងារ ជាមួយនឹងកម្រិតខ្ពស់នៃការចល័ត។ ភាពស្មុគស្មាញនៃផលិតផល ឬគ្រឿងកុំព្យូទ័រត្រូវបានលាក់សម្រាប់អ្នកប្រើប្រាស់ចុងក្រោយ។
កម្មវិធីបញ្ជា LL ផ្តល់ជូន APIs កម្រិតចុះឈ្មោះកម្រិតទាប ជាមួយនឹងការបង្កើនប្រសិទ្ធភាពប្រសើរជាងមុន ប៉ុន្តែអាចចល័តបានតិច។ ពួកគេត្រូវការចំណេះដឹងស៊ីជម្រៅអំពីផលិតផល ឬលក្ខណៈបច្ចេកទេស IP ។ - តើអ្នកបើកបរ HAL និង LL អាចប្រើជាមួយគ្នាបានទេ? បើមាន តើមានឧបសគ្គអ្វីខ្លះ?
វាអាចទៅរួចក្នុងការប្រើប្រាស់ទាំងកម្មវិធីបញ្ជា HAL និង LL ។ ប្រើ HAL សម្រាប់ដំណាក់កាលចាប់ផ្តើមគ្រឿងកុំព្យូទ័រ ហើយបន្ទាប់មកគ្រប់គ្រងប្រតិបត្តិការ I/O ជាមួយកម្មវិធីបញ្ជា LL ។
ភាពខុសគ្នាសំខាន់រវាង HAL និង LL គឺថាកម្មវិធីបញ្ជា HAL តម្រូវឱ្យបង្កើត និងប្រើចំណុចទាញសម្រាប់ការគ្រប់គ្រងប្រតិបត្តិការ ខណៈដែលកម្មវិធីបញ្ជា LL ដំណើរការដោយផ្ទាល់លើការចុះឈ្មោះគ្រឿងកុំព្យូទ័រ។ ការលាយ HAL និង LL ត្រូវបានបង្ហាញនៅក្នុង Examples_MIX ឧamples ។ - តើ LL ចាប់ផ្តើម APIs ត្រូវបានបើកដោយរបៀបណា?
និយមន័យនៃ APIs នៃការចាប់ផ្តើម LL និងធនធានដែលពាក់ព័ន្ធ (រចនាសម្ព័ន្ធ ព្យញ្ជនៈ និងគំរូដើម) ត្រូវបានកំណត់លក្ខខណ្ឌដោយការផ្លាស់ប្តូរការចងក្រង USE_FULL_LL_DRIVER ។
ដើម្បីអាចប្រើ LL initialization APIs សូមបន្ថែមកុងតាក់នេះនៅក្នុង toolchain compiler preprocessor។ - តើមានគម្រោងគំរូណាមួយសម្រាប់ MRSUBG/LPAWUR peripheral examples?
ដើម្បីបង្កើត MRSUBG ឬ LPAWUR ថ្មីampគម្រោង le ចាប់ផ្តើមពីគម្រោងគ្រោងឆ្អឹងដែលផ្តល់នៅក្រោម \Pr ojects\NUCLEO-WL33CC\Examples\MRSUBG ឬ \Projects\NUCLEO-WL33CC\Examples\LPAWUR ឬពីគម្រោងដែលមាននៅក្រោមថតដូចគ្នាទាំងនេះ។ - តើ STM32CubeMX អាចបង្កើតកូដដោយផ្អែកលើកម្មវិធីដែលបានបង្កប់ដោយរបៀបណា?
STM32CubeMX មានចំនេះដឹងដែលភ្ជាប់មកជាមួយនូវឧបករណ៍បញ្ជាមីក្រូ STM32 រួមទាំងគ្រឿងកុំព្យូទ័រ និងកម្មវិធីរបស់ពួកគេ ដែលអនុញ្ញាតឱ្យវាផ្តល់តំណាងក្រាហ្វិកដល់អ្នកប្រើប្រាស់ និងបង្កើត *.h ឬ *.c files ផ្អែកលើការកំណត់របស់អ្នកប្រើ។
ប្រវត្តិនៃការពិនិត្យឡើងវិញ
តារាងទី 3. ប្រវត្តិកែប្រែឯកសារ
កាលបរិច្ឆេទ | ការពិនិត្យឡើងវិញ | ការផ្លាស់ប្តូរ |
29-មីនា-2024 | 1 | ការចេញផ្សាយដំបូង។ |
២៥-តុលា-២០០៧ | 2 | ការរួមបញ្ចូលពេញលេញនៃ STM32CubeWL3 in STM32Cube. បានធ្វើបច្ចុប្បន្នភាព៖
បានដកចេញ៖
|
ឯកសារ/ធនធាន
កញ្ចប់កម្មវិធី ST STM32WL3x [pdf] សេចក្តីណែនាំ កញ្ចប់កម្មវិធី STM32WL3x, STM32WL3x, កញ្ចប់កម្មវិធី, កញ្ចប់ |
ឯកសារយោង
-
កិច្ចព្រមព្រៀងកម្មវិធីផ្តាច់មុខសម្រាប់អ្នកអភិវឌ្ឍន៍ និងអ្នកចាប់ផ្តើមអាជីវកម្ម - Dealsbe
- សៀវភៅណែនាំអ្នកប្រើប្រាស់