ST-LOGO

Микроконтроллерҳои STM32WL3x

STM32WL3x-Микроконтроллерҳо-МАХСУЛОТИ

Дастурҳои истифодаи маҳсулот

  • Бастаи STM32CubeWL3 дорои қабати паст (LL) ва қабати абстраксияи сахтафзор (HAL) API мебошад, ки сахтафзори микроконтроллерро фаро мегиранд.
  • Он инчунин ҷузъҳои миёнаравро ба монанди SigfoxTM, FatFS ва ядрои FreeRTOS таъмин мекунад.
  • Баста бо собиқ меоядamples ва барномаҳо барои татбиқи осон.
  • Меъмории STM32CubeWL3 дар се сатҳ сохта шудааст: Барномаҳо, HAL ва LL.
  • API-ҳои HAL ва LL доираи васеи талаботҳои барномаро фаро мегиранд.
  • HAL истифодаи асосии перифериро пешниҳод мекунад, масаланamples, ва LL реҷаҳои сатҳи пастро таъмин мекунад.
  • Ин сатҳ бастаи дастгирии Шӯрои (BSP) ва зерқабатҳои HAL-ро дар бар мегирад.
  • BSP API-ро барои ҷузъҳои сахтафзор дар тахтаҳо пешниҳод мекунад, дар ҳоле ки HAL истифодаи асосии перифериро пеш аз ҳама таъмин мекунадamples.
  • Драйверҳои BSP драйверҳои ҷузъро ба тахтаҳои мушаххас мепайвандад ва интиқолро ба сахтафзорҳои дигар осон мекунад.
  • STM32CubeWL3 HAL ва LL пурракунанда буда, доираи васеи талаботҳои барномаро фаро мегиранд.
  • Истифодабарандагон метавонанд аз ин APIҳо истифода баранд, то бо сахтафзори микроконтроллер самаранок кор кунанд.

Муқаддима

STM32Cube як ташаббуси аслии STMicroelectronics барои баланд бардоштани маҳсулнокии тарроҳон тавассути коҳиш додани кӯшишҳо, вақт ва хароҷот барои таҳия мебошад. STM32Cube тамоми портфели STM32-ро фаро мегирад. STM32Cube дар бар мегирад:

STM32Cube дар бар мегирад:

  • Маҷмӯи василаҳои таҳияи нармафзори барои корбар дӯстона барои фарогирии таҳияи лоиҳа аз консепсия то татбиқ, аз ҷумла инҳоянд:
    • STM32CubeMX, як абзори конфигуратсияи нармафзори графикӣ, ки имкон медиҳад тавлиди автоматии рамзи ибтидоии C бо истифода аз устодони графикӣ
    • STM32CubeIDE, як абзори таҳияи ҳама дар як бо конфигуратсияи периферӣ, тавлиди код, тартиб додани код ва хусусиятҳои дебаг
    • STM32CubeCLT, як абзори таҳияи сатри фармони ҳама дар як бо тартиб додани код, барномасозии тахта ва хусусиятҳои дебаг
    • STM32CubeProgrammer (STM32CubeProg), як воситаи барномасозӣ, ки дар версияҳои графикӣ ва сатри фармон дастрас аст
    • STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), абзорҳои пурқуввати мониторинг барои дуруст танзим кардани рафтор ва иҷрои барномаҳои STM32 дар вақти воқеӣ
  • Бастаҳои STM32Cube MCU ва MPU, платформаҳои ҳамаҷонибаи нармафзори дарунсохт, ки ба ҳар як микроконтроллер ва микропросессор хосанд (ба монанди STM32CubeWL3 барои хати маҳсулоти STM32WL3x), ки дар бар мегиранд:
    • Қабати абстраксияи сахтафзори STM32Cube (HAL), ки интиқоли ҳадди аксарро дар портфели STM32 таъмин мекунад
    • API-ҳои қабати пасти STM32Cube, ки беҳтарин кор ва пайро бо дараҷаи баланди назорати корбар аз болои сахтафзор таъмин мекунад
    • Маҷмӯи пайвастаи ҷузъҳои миёнаравӣ ба монанди ядрои FreeRTOS™, FatFS ва Sigfox™
    • Ҳама утилитаҳои нармафзори дарунсохт бо маҷмӯи пурраи периферивӣ ва амалӣ собиқamples
  • Бастаҳои густариши STM32Cube, ки дорои ҷузъҳои нармафзори дарунсохт мебошанд, ки функсияҳои STM32Cube MCU ва MPU бастаҳоро бо:
    • Васеъкуниҳои миёнаравӣ ва қабатҳои татбиқшаванда
    • Examples дар баъзе тахтаҳои мушаххаси рушди STMicroelectronics кор мекунанд
  • Ин дастури корбар тавсиф мекунад, ки чӣ гуна бояд бо бастаи STM32CubeWL3 MCU оғоз шавад.

Фасли 2 хусусиятҳои асосии STM32CubeWL3-ро тавсиф мекунад ва қисмати 3 дар бар мегирадview меъмории он ва сохтори бастаи MCU.

Маълумоти Умумӣ

  • STM32CubeWL3 барномаҳои намоишии зер-ГГц, аз ҷумла дуликҳои Sigfox ™ -ро дар микроконтроллерҳои хати маҳсулоти STM32WL3x дар асоси протсессори Arm® Cortex®‑M0+ иҷро мекунад.
  • Микроконтроллерҳои STM32WL3x периферии радиои RF-и муосири зери ГГц-и STMicroelectronics-ро дарбар мегиранд, ки барои истеъмоли ултра кам қувваи барқ ​​ва иҷрои аълои радио оптимизатсия карда шудаанд, барои мӯҳлати беҳамтои батарея.

Шарҳ: Arm тамғаи молии ба қайд гирифташудаи Arm Limited (ё филиалҳои он) дар ИМА ва/ё дар ҷои дигар мебошад.

STM32WL3x-Микроконтроллерҳо-FIG-1

Хусусиятҳои асосии STM32CubeWL3

  • Бастаи STM32CubeWL3 MCU дар микроконтроллерҳои 32-битии STM32 дар асоси протсессори Arm® Cortex®‑M0+ кор мекунад. Он дар як бастаи ягона тамоми ҷузъҳои нармафзори дарунсохташударо ҷамъ меорад, ки барои таҳияи барнома барои Хати маҳсулоти STM32WL3x микроконтроллерҳо.
  • Маҷмӯа API-ҳои қабати паст (LL) ва қабати абстраксияи сахтафзор (HAL) -ро дар бар мегирад, ки сахтафзори микроконтроллерро дар бар мегиранд ва инчунин маҷмӯи васеи собиқampLes дар тахтаҳои STMicroelectronics кор мекунанд. API-ҳои HAL ва LL дар литсензияи кушодаи BSD барои роҳати корбар дастрасанд. Он инчунин ҷузъҳои миёнарави ядрои Sigfox™, FatFS ва FreeRTOS™-ро дар бар мегирад.
  • Бастаи STM32CubeWL3 MCU инчунин якчанд барномаҳо ва намоишҳоро пешкаш мекунад, ки тамоми ҷузъҳои миёнаравии онро амалӣ мекунанд.
  • Тарҳбандии ҷузъҳои бастаи STM32CubeWL3 MCU дар расми 1 тасвир шудааст.

STM32WL3x-Микроконтроллерҳо-FIG-2

Меъмории STM32CubeWL3 ба охир расидview

  • Ҳалли бастаи STM32CubeWL3 MCU дар атрофи се сатҳи мустақил сохта шудааст, ки ба осонӣ тавре ки дар расми 2 тавсиф шудаанд, мутақобила мекунанд.

STM32WL3x-Микроконтроллерҳо-FIG-3

Сатҳи 0
Ин сатҳ ба се зерқабат тақсим мешавад:

  • Бастаи дастгирии Шӯрои (BSP).
  • Қабати абстраксияи сахтафзор (HAL):
    • Драйверҳои периферии HAL
    • Ронандагони сатҳи паст
  • Истифодаи асосии перифери, масаланamples.

Бастаи дастгирии Шӯрои (BSP)
Ин қабат маҷмӯи API-ҳоро нисбат ба ҷузъҳои сахтафзор дар тахтаҳои сахтафзор пешниҳод мекунад (ба монанди LEDҳо, тугмаҳо ва драйверҳои COM). Он аз ду қисм иборат аст:

Компонент:

  • Ин ронанда нисбат ба дастгоҳи беруна дар тахта аст, на ба STM32. Драйвери компонент API-ҳои мушаххасро ба ҷузъҳои берунаи драйвери BSP таъмин мекунад ва метавонад дар ҳама гуна тахтаи дигар қобили интиқол бошад.
    • Ронандаи BSP:
  • Он имкон медиҳад, ки драйверҳои ҷузъро ба тахтаи мушаххас пайваст кунанд ва маҷмӯи API-ҳои барои корбарро осон таъмин кунанд. Қоидаи номи API BSP_FUNCT_Action () аст.
  • Example: BSP_LED_Init (), BSP_LED_On ()

BSP ба меъмории модулӣ асос ёфтааст, ки имкон медиҳад интиқоли осонро дар ҳама гуна сахтафзор тавассути иҷрои реҷаҳои сатҳи паст таъмин кунад.

Қабати абстраксияи сахтафзор (HAL) ва қабати паст (LL)

STM32CubeWL3 HAL ва LL якхела мебошанд ва доираи васеи талаботҳои дархостро фаро мегиранд:

  • Драйверҳои HAL API-ҳои сатҳи баландро, ки ба функсия нигаронида шудаанд, пешниҳод мекунанд. Онҳо MCU ва мураккабии перифериро ба корбари ниҳоӣ пинҳон мекунанд.
    Драйверҳои HAL API-ҳои умумиро, ки ба хусусият нигаронида шудаанд, таъмин мекунанд, ки татбиқи барномаҳои корбарро тавассути пешниҳоди равандҳои барои истифода омода содда мекунанд. Барои мисолample, барои таҷҳизоти периферии иртиботӣ (I2C, UART ва дигарон) он APIҳоро таъмин мекунад, ки имкон медиҳад оғозсозӣ ва танзими периферия, идоракунии интиқоли додаҳо дар асоси пурсиш, қатъ ё раванди DMA ва коркарди хатогиҳои иртиботӣ, ки ҳангоми муошират пайдо мешаванд. API-ҳои драйвери HAL ба ду категория тақсим мешаванд:
    • API-ҳои умумӣ, ки ба ҳама микроконтроллерҳои силсилаи STM32 вазифаҳои умумӣ ва умумӣ медиҳанд.
    • API-ҳои васеъ, ки вазифаҳои мушаххас ва фармоиширо барои як оилаи мушаххас ё рақами мушаххаси қисм таъмин мекунанд.
  • API-ҳои қабати паст API-ҳои сатҳи пастро дар сатҳи реестр бо оптимизатсияи беҳтар, вале интиқоли камтар таъмин мекунанд.
    Онҳо дониши амиқи MCU ва мушаххасоти перифериро талаб мекунанд.
    Драйверҳои LL барои пешниҳод кардани як қабати сабук ва ба коршинос нигаронидашуда тарҳрезӣ шудаанд, ки нисбат ба HAL ба сахтафзор наздиктар аст. Бар хилофи HAL, API-ҳои LL барои дастгоҳҳои периферӣ, ки дастрасии оптимизатсияшуда хусусияти калидӣ нест, ё барои онҳое, ки конфигуратсияи вазнини нармафзор ё стеки мураккаби сатҳи болоро талаб мекунанд, пешбинӣ нашудаанд.
    Драйверҳои LL хусусиятҳои:
  • Маҷмӯи функсияҳо барои оғоз кардани хусусиятҳои асосии периферӣ мувофиқи параметрҳои дар сохторҳои додашуда.
  • Маҷмӯи функсияҳо барои пур кардани сохторҳои додаҳои ибтидоӣ бо арзишҳои аз нав танзимкунии мувофиқ ба ҳар як майдон.
  • Функсияи де-интисиализатсияи периферӣ (регистрҳои периферӣ ба арзишҳои пешфарзии худ барқарор карда мешаванд).
  • Маҷмӯи функсияҳои дохилӣ барои дастрасии мустақим ва реестри атомӣ.
  • Истиқлолияти пурра аз HAL ва қобилияти истифода дар реҷаи мустақил (бе ронандагони HAL).
  • Фарогирии пурраи хусусиятҳои периферии дастгирӣшаванда.

Истифодаи асосии перифери, масаланamples
Ин қабат собиқро иҳота мекунадamples бар перифери STM32 бо истифода аз танҳо захираҳои HAL ва BSP сохта.
Шарҳ: Намоиш собикamples низ дастрас мебошанд, то нишон собиқ мураккаб бештарampсенарияҳо бо таҷҳизоти мушаххас, ба монанди MRSUBG ва LPAWUR.

Сатҳи 1
Ин сатҳ ба ду зерқабат тақсим мешавад:

  • Компонентҳои миёнаравӣ
  • Examples дар асоси ҷузъҳои миёнаравӣ

Компонентҳои миёнаравӣ
Миёнаравӣ маҷмӯи китобхонаҳое мебошад, ки ядрои FreeRTOS™, FatFS ва китобхонаи протоколи Sigfox™-ро фаро мегиранд.
Муносибати уфуқӣ байни ҷузъҳои ин қабат тавассути даъват кардани API-ҳои тавсифшуда анҷом дода мешавад.
Ҳамкории амудӣ бо драйверҳои сатҳи паст тавассути зангҳои мушаххас ва макросҳои статикӣ, ки дар интерфейси зангҳои системаи китобхона амалӣ карда мешаванд, анҷом дода мешавад.
Хусусиятҳои асосии ҳар як ҷузъи миёнаравӣ инҳоянд:

  • Ядро 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 STM32WL31xx микроконтроллерҳо STM32WL33xx

Љадвали 2. Шӯрои барои хати маҳсулоти STM32WL3x

Раёсат Дастгоҳҳои пуштибонии тахтаи STM32WL3x
NUCLEO-WL33CC1 STM32WL33CC
NUCLEO-WL33CC2 STM32WL33CC

Бастаи STM32CubeWL3 MCU метавонад дар ҳама гуна сахтафзорҳои мувофиқ кор кунад. Истифодабарандагон драйверҳои BSP-ро навсозӣ мекунанд, то версияи пешинро интиқол диҳандamples дар тахтаҳои худ, агар онҳо дорои як хусусиятҳои сахтафзор бошанд (ба монанди LED ё тугмаҳо).

Бастаи нармафзори миёнаравӣ тамом шудview

  • Ҳалли бастаи STM32CubeWL3 MCU дар як бастаи ягонаи zip бо сохтори дар расми 3 нишон додашуда таъмин карда шудааст.

STM32WL3x-Микроконтроллерҳо-FIG-4

Огоҳӣ: Истифодабаранда набояд ҷузъҳоро тағир диҳад fileс. Истифодабаранда танҳо метавонад сарчашмаҳои \Projects-ро таҳрир кунад. Барои ҳар як тахта, маҷмӯи собиқamples бо лоиҳаҳои пешакӣ танзимшуда барои асбобҳои EWARM, MDK-ARM ва STM32CubeIDE таъмин карда мешавад.
Тасвири 4 сохтори лоиҳаро барои тахтаҳои NUCLEO-WL33CCx нишон медиҳад.

STM32WL3x-Микроконтроллерҳо-FIG-5

собиқamples вобаста ба сатҳи STM32CubeWL3, ки ба онҳо муроҷиат мекунанд, тасниф карда мешаванд. Онҳо чунин ном доранд:

  • Сатҳи 0 собиқamples Ex номида мешавадampЛес, масаланamples_LL, ва Examples_MIX. Онҳо мутаносибан драйверҳои HAL, драйверҳои LL ва омехтаи драйверҳои HAL ва LL-ро бидуни ягон ҷузъи миёнаравӣ истифода мебаранд. Намоиш собикamples низ дастрасанд.
  • Сатҳи 1 собиқamples Барномаҳо номида мешаванд. Онҳо ҳолатҳои истифодаи маъмулии ҳар як ҷузъи миёнаравиро таъмин мекунанд.

Ҳар як барномаи миёнаравӣ барои тахтаи додашуда метавонад бо истифода аз лоиҳаҳои қолабӣ, ки дар директорияҳои Шаблонҳо ва Templates_LL мавҷуд аст, зуд сохта шавад.
ExampЛес, масаланamples_LL, ва Examples_MIX сохтори якхела доранд:

  • Папкаи \Inc дорои тамоми сарлавҳа files.
  • \Src ҷузвдони дорои рамзи сарчашма.
  • \EWARM, \MDK-ARM ва \STM32CubeIDE ҷузвдонҳои дорои лоиҳаи пешакӣ танзимшуда барои ҳар як асбоб.
  • readme.md ва readme.html тавсифи собиқampрафтор ва муҳити зарурӣ барои кор кардан.

Оғози кор бо STM32CubeWL3

Иҷроиши аввалин собиқample
Ин бахш мефаҳмонад, ки то чӣ андоза оддӣ иҷро кардани аввалин собиқample дар дохили STM32CubeWL3. Он ҳамчун мисол тавлиди гузариши оддии LED-ро, ки дар тахтаи NUCLEO-WL33CC1 кор мекунад, истифода мебарад:

  1. Бастаи STM32CubeWL3 MCU -ро зеркашӣ кунед.
  2. Онро кушоед ё насбкунандаро, агар дода шуда бошад, дар директорияи интихобкардаатон иҷро кунед.
  3. Боварӣ ҳосил кунед, ки сохтори бастаи дар расми 3 нишон додашударо тағир надиҳед. Сохтори бастаи нармафзори STM32CubeWL3. Дар хотир доред, ки инчунин тавсия дода мешавад, ки бастаро дар макони наздик ба ҳаҷми реша (маънои C:\ST ё G:\Tests) нусхабардорӣ кунед, зеро баъзе IDE-ҳо ҳангоми хеле дароз будани роҳ ба мушкилот дучор мешаванд.

Чӣ тавр як HAL собиқро идора кардан мумкин астample
Пеш аз бор кардан ва иҷро кардани собиқample, он аст, сахт тавсия ба хондани собиқampмаро хонед file барои ҳама гуна конфигуратсияи мушаххас.

  1. Ба \Лоиҳаҳо\NUCLEO-WL33CC\Мисamples.
  2. Папкаҳои \GPIO ва баъд \GPIO_EXTI -ро кушоед.
  3. Лоиҳаро бо асбоби интихобшуда кушоед. Зуд тамомview дар бораи чӣ гуна кушодан, сохтан ва идора кардани собиқample бо асбобҳои дастгирӣ дар зер оварда шудааст.
  4. Ҳамаро аз нав созед files ва тасвирро ба хотираи мақсаднок бор кунед.
  5. Собиқро иҷро кунедampле. Барои тафсилоти бештар, ба собиқ муроҷиат кунедampмаро хонед file.

Барои кушодан, сохтан ва иҷро кардани собиқample бо ҳар як асбобҳои дастгирӣшаванда, қадамҳои зеринро иҷро кунед:

  • EWARM:
    1. Дар зери Exampпапкаи les, зерпапкаи \EWARM -ро кушоед.
    2. Фазои кории Project.eww -ро оғоз кунед (номи фазои корӣ метавонад аз як пешampба дигаре).
    3. Ҳамаро аз нав созед files: [Лоиҳа]> [Ҳамаро барқарор кунед].
    4. Тасвири лоиҳаро бор кунед: [Лоиҳа]> [Debug].
    5. Барномаро иҷро кунед: [Debug]> [Go (F5)].
  • MDK-ARM:
    1. Дар зери Exampҷузвдони les, зерпапкаи \MDK-ARM -ро кушоед.
    2. Фазои кории Project.uvproj -ро кушоед (номи фазои корӣ метавонад аз як пешampба дигаре).
    3. Ҳамаро аз нав созед files: [Лоиҳа]>[Ҳамаи ҳадафҳоро аз нав созед fileс].
    4. Тасвири лоиҳаро бор кунед: [Debug]> [Start/Stop Session Debug].
    5. Барномаро иҷро кунед: [Debug]> [Run (F5)].
  • STM32CubeIDE:
    1. Асбоби STM32CubeIDE -ро кушоед.
    2. -ро пахш кунед [File]>[Тағйири фазои корӣ]>[Дигар] ва ба директорияи фазои кории STM32CubeIDE равед.
    3. -ро пахш кунед [File]> [Ворид], [Умумӣ]> [Лоиҳаҳои мавҷуда дар фазои корӣ] -ро интихоб кунед ва сипас [Оянда] -ро клик кунед.
    4. Ба феҳристи фазои кории STM32CubeIDE равед ва лоиҳаро интихоб кунед.
    5. Ҳама лоиҳаро аз нав созед files: Лоиҳаро дар равзанаи Explorer Project интихоб кунед ва баъд менюи [Лоиҳа]> [Сохтани лоиҳа] -ро клик кунед.
    6. Барномаро иҷро кунед: [Иҷро]> [Debug (F11)].

Таҳияи барномаи фармоишӣ

Истифодаи STM32CubeMX барои таҳия ё навсозии барнома

  • Дар бастаи STM32Cube MCU, тақрибан ҳамаи лоиҳаҳои собиқamples бо асбоби STM32CubeMX барои оғоз кардани система, периферияҳо ва миёнаравӣ тавлид мешаванд.

Истифодаи бевоситаи лоиҳаи мавҷуда, собиқample аз асбоби STM32CubeMX STM32CubeMX 6.12.0 ё навтарро талаб мекунад:

  • Пас аз насб кардани STM32CubeMX, лоиҳаи пешниҳодшударо кушоед ва дар ҳолати зарурӣ навсозӣ кунед.
    Роҳи оддитарини кушодани лоиҳаи мавҷуда ин ду маротиба пахш кардани *.ioc мебошад file то ки STM32CubeMX ба таври худкор лоиҳа ва манбаи онро мекушояд fileс. STM32CubeMX рамзи ибтидоии ибтидоии чунин лоиҳаҳоро тавлид мекунад.
  • Рамзи асосии барномаро шарҳҳои "КОДИ ИСТИФОДАБАРАНДАГОН ОГОЗ" ва "КАМЗИ ИСТИФОДАБАРАНДА" дар бар мегиранд. Агар интихоб ва танзимоти периферӣ тағир дода шаванд, STM32CubeMX қисми ибтидоии кодро ҳангоми нигоҳ доштани рамзи сарчашмаи асосии барнома навсозӣ мекунад.
  • Барои таҳияи лоиҳаи фармоишӣ бо STM32CubeMX, раванди қадам ба қадам пайравӣ кунед:
    1. Ҳама нармафзори дарунсохтро бо истифода аз ҳалкунандаи конфликтҳои pinout, ёвари танзими дарахти соат, ҳисобкунаки масрафи нерӯ ва утилитае, ки конфигуратсияи периферии MCU-ро иҷро мекунад (ба мисли GPIO ё USART) танзим кунед.
    2. Дар асоси конфигуратсияи интихобшуда рамзи ибтидоии C-ро тавлид кунед. Ин код барои истифода дар якчанд муҳитҳои рушд омода аст. Рамзи корбар дар насли ояндаи код нигоҳ дошта мешавад.
      Барои маълумоти бештар дар бораи STM32CubeMX, ба дастури корбарии STM32CubeMX барои конфигуратсияи STM32 ва тавлиди коди C (UM1718) муроҷиат кунед.

Барномаҳои ронандагӣ
ариза HAL
Ин бахш қадамҳои заруриро барои сохтани барномаи фармоишии HAL бо истифода аз STM32CubeWL3 тавсиф мекунад

  1. Лоиҳа эҷод кунед
    Барои сохтани лоиҳаи нав, аз лоиҳаи Шаблоне, ки барои ҳар як тахта дар зери \Лоиҳаҳо\ пешбинӣ шудааст, оғоз кунед. \Шаблонҳо ё аз ягон лоиҳаи дастрас дар зери \Лоиҳаҳо\ \Масamples ё \Proj ects\ \Барномаҳо (дар куҷо ба номи тахта ишора мекунад).
    Лоиҳаи Шаблон вазифаи ҳалқаи асосии холиро таъмин мекунад. Бо вуҷуди ин, ин як нуқтаи хубест барои фаҳмидани танзимоти лоиҳаи STM32CubeWL3. Шаблон дорои хусусиятҳои зерин аст:
    • Он рамзи сарчашмаи HAL, CMSIS ва драйверҳои BSP-ро дар бар мегирад, ки маҷмӯи ҳадди ақали ҷузъҳо барои таҳияи код дар тахтаи додашуда заруранд.
    • Он дорои роҳҳои дохилшуда барои ҳамаи ҷузъҳои нармафзори миёнаравӣ.
    • Он дастгоҳҳои хати маҳсулоти дастгирӣшудаи STM32WL3x-ро муайян мекунад ва имкон медиҳад, ки драйверҳои CMSIS ва HAL дуруст танзим карда шаванд.
    • Он корбарро барои истифода омода таъмин мекунад fileс пешакӣ танзим карда шудааст, ки дар зер нишон дода шудааст:
    • HAL бо пойгоҳи пешфарз бо Arm® core SysTick оғоз карда шуд.
    • SysTick ISR бо мақсади HAL_Delay() амалӣ карда шудааст.
    • Эзоҳ: Ҳангоми нусхабардории лоиҳаи мавҷуда ба ҷои дигар, боварӣ ҳосил кунед, ки ҳамаи роҳҳои дохилшуда нав карда мешаванд.
  2. Ҷузъҳои нармафзори нармафзорро танзим кунед
    Ҷузъҳои HAL ва миёнаравӣ маҷмӯи имконоти конфигуратсияи вақти сохтанро бо истифода аз макросҳои #define дар сарлавҳа эълоншуда пешниҳод мекунанд file. Конфигуратсияи шаблон file дар дохили ҳар як ҷузъ таъмин карда мешавад, ки бояд ба ҷузвдони лоиҳа нусхабардорӣ карда шавад (одатан конфигуратсия file xxx_conf_template.h ном дорад, порча
    • Шаблонро ҳангоми нусхабардории он ба ҷузвдони лоиҳа хориҷ кардан лозим аст). Конфигуратсия file барои фаҳмидани таъсири ҳар як варианти конфигуратсия маълумоти кофӣ медиҳад. Маълумоти муфассал дар ҳуҷҷатҳои барои ҳар як ҷузъи пешниҳодшуда мавҷуд аст.
  3. Китобхонаи HAL-ро оғоз кунед
    Пас аз гузаштан ба барномаи асосӣ, рамзи барнома бояд API-и HAL_Init()-ро даъват кунад, то китобхонаи HAL-ро оғоз кунад, ки вазифаҳои зеринро иҷро мекунад:
    • Конфигуратсияи пешакии хотираи флешдор ва афзалияти қатъи 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. Соатҳои системаро танзим кунед
    Конфигуратсияи соати система тавассути занг задан ба ду API-и дар зер тавсифшуда анҷом дода мешавад:
    • HAL_RCC_OscConfig (): ин API осцилляторҳои дохилӣ ва беруниро танзим мекунад. Истифодабаранда интихоб мекунад
      як ё ҳама осцилляторҳоро танзим кунед.
    • HAL_RCC_ClockConfig(): ин API манбаи соати система, таъхири хотираи флеш ва пешакии AHB ва APB-ро танзим мекунад.
  5. Перифериро оғоз кунед
    • Аввалан функсияи ибтидоии перифериро нависед. Ба таври зерин амал кунед:
    • Соати перифериро фаъол созед.
    • GPIO-ҳои перифериро танзим кунед.
    • Канали DMA-ро танзим кунед ва қатъи DMA-ро фаъол созед (агар лозим бошад).
    • Танаффуси перифериро фаъол созед (агар лозим бошад).
    • Агар лозим бошад, stm32xxx_it.c-ро таҳрир кунед, то ба коркардкунандагони зарурии халалдор (периферӣ ва DMA) занг занед.
    • Функсияҳои пурраи бозгашти зангро нависед, агар қатъи периферӣ ё DMA истифода шавад.
    • Дар корбар main.c file, сохтори дастаки перифериро оғоз кунед ва баъд функсияи ибтидосозии перифериро барои оғоз кардани перифери даъват кунед.
  6. Барнома таҳия кунед
    Дар ин сtagд, система омода аст ва таҳияи рамзи барномаи корбар метавонад оғоз шавад.
    HAL API-ҳои интуитивӣ ва барои истифода омодаро барои танзими перифери таъмин мекунад. Он пурсиш, таваққуф ва модели барномасозии DMA-ро барои қонеъ кардани ҳама гуна талаботи барнома дастгирӣ мекунад. Барои тафсилоти бештар дар бораи чӣ гуна истифода бурдани ҳар як перифери, ба сарватманди собиқ муроҷиат кунедample маҷмӯи дар бастаи STM32CubeWL3 MCU пешбинӣ шудааст.

Огоҳӣ: Дар татбиқи пешфарз HAL, таймери SysTick ҳамчун базаи вақт истифода мешавад: он дар фосилаҳои муқаррарии вақт қатъҳоро тавлид мекунад. Агар HAL_Delay() аз раванди периферии ISR даъват карда шавад, боварӣ ҳосил кунед, ки қатъи SysTick нисбат ба қатъи перифералӣ афзалияти баландтар (аз ҷиҳати ададӣ камтар) дорад. Дар акси ҳол, раванди ISR зангзананда баста мешавад. Функсияҳое, ки ба конфигуратсияҳои пойгоҳи вақт таъсир мерасонанд, ҳамчун __заиф эълон карда мешаванд, то бекоркунӣ дар сурати татбиқи дигар дар корбар имконпазир гарданд. file (бо истифода аз таймери таъиноти умумӣ, масаланample, ё манбаи дигари вақт). Барои тафсилоти бештар, ба HAL_TimeBase собиқ муроҷиат кунедampле.

Барномаи LL
Ин бахш қадамҳои лозимиро барои сохтани барномаи фармоишии LL бо истифода аз STM32CubeWL3 тавсиф мекунад.

  1. Лоиҳа эҷод кунед
    Барои сохтани лоиҳаи нав, ё аз лоиҳаи Templates_LL, ки барои ҳар як тахта дар зери \Лоиҳаҳо\ пешбинӣ шудааст, оғоз кунед. \Templates_LL ё аз ягон лоиҳаи дастрас дар зери \Projects\ \Масamples_ LL ( ба номи тахта ишора мекунад, ба монанди NUCLEO-WL32CC33).
    Лоиҳаи Шаблон вазифаи ҳалқаи асосии холиро таъмин мекунад, ки барои фаҳмидани танзимоти лоиҳа барои STM32CubeWL3 нуқтаи ибтидоии хуб аст. Хусусиятҳои асосии шаблон инҳоянд:
    • Он дорои рамзҳои ибтидоии драйверҳои LL ва CMSIS мебошад, ки маҷмӯи ҳадди ақали ҷузъҳо барои таҳияи код дар тахтаи додашуда заруранд.
    • Он дорои роҳҳои дохилшуда барои ҳама ҷузъҳои лозимии нармафзори миёнаравӣ мебошад.
    • Он дастгоҳи хати маҳсулоти дастгирӣшудаи STM32WL3x-ро интихоб мекунад ва ба конфигуратсияи дурусти драйверҳои CMSIS ва LL имкон медиҳад.
    • Он корбариро барои истифода омода таъмин мекунад files, ки ба таври зерин пешакӣ танзим карда шудаанд:
    • main.h: LED ва USER_BUTTON қабати абстраксияи таърифи.
    • main.c: Конфигуратсияи соати система барои басомади ҳадди аксар.
  2. Порти LL собиқampле:
    • Папкаи Templates_LL -ро нусхабардорӣ/часбонед - барои нигоҳ доштани манбаи ибтидоӣ - ё бевосита лоиҳаи мавҷудаи Шаблон s_LL -ро навсозӣ кунед.
    • Сипас, интиқол асосан аз иваз кардани Templates_LL иборат аст fileс аз ҷониби Examples_LL лоиҳаи мақсаднок.
    • Ҳама қисмҳои мушаххаси тахтаро нигоҳ доред. Бо сабабҳои возеҳӣ, қисмҳои мушаххаси тахта бо мушаххас нишон дода шудаанд tags:STM32WL3x-Микроконтроллерҳо-FIG-6
    • Ҳамин тариқ, қадамҳои асосии интиқол инҳоянд:
    • stm32wl3x_it.h -ро иваз кунед file.
    • stm32wl3x_it.c -ро иваз кунед file.
    • Иваз кардани асосии.h file ва онро навсозӣ кунед: Таърифи LED ва тугмаҳои корбарии қолаби LL-ро дар зери конфигуратсияи мушаххаси BOARD нигоҳ доред tags.
    • Иваз кардани асосии.c file ва онро навсозӣ кунед:
    • Конфигуратсияи соати функсияи қолаби SystemClock_Config() LL-ро дар зери конфигуратсияи мушаххаси BOARD нигоҳ доред tags.
    • Вобаста аз таърифи LED, ҳар як ҳодисаи LDx-ро бо LDy-и дигаре, ки дар file асосӣ.ч.
    • Бо ин дигаргуниҳо, собиқampле дар тахтаи максаднок медавад.

Барномаҳои RF, намоишҳо ва собиқamples
Намудҳои гуногуни барномаҳои RF, намоишҳо ва собиқamples дар бастаи STM32CubeWL3 дастрасанд.
Онҳо дар ду бахш дар зер номбар шудаанд.

Sub-GHz, масаланampлес ва намоишхо
Ин собикamples хусусиятҳои асосии радиои периферии MRSUBG ва LPAWUR -ро нишон медиҳанд. Ин собикamples дар зери дастрас мебошанд:

  • Лоиҳаҳо\NUCLEO-WL33CC\Мисamples\MRSUBG
  • Лоиҳаҳо\NUCLEO-WL33CC\Мисamples\LPAWUR
  • Лоиҳаҳо \ NUCLEO-WL33CC \ Намоишҳо \ MRSUBG
  • Лоиҳаҳо \ NUCLEO-WL33CC \ Намоишҳо \ LPAWUR

Ҳар як собиқample ё намоиш одатан аз ду барнома бо номи 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: собиқample барои озмоиши периферии радиои LPAWUR.

Намоишҳо/MRSUBG

  • MRSUBG_RTC_Button_TX: Ин собиқample нишон медиҳад, ки чӣ гуна SoC-ро дар ҳолати қатъи амиқ насб кардан ва MRSUBG-ро барои бедор кардани SoC тавассути пахш кардани PB2 барои фиристодани чаҳорчӯба ё пас аз ба охир расидани мӯҳлати таймери RTC танзим мекунад.
  • MRSUBG_Sequencer_Sniff: Ин собиқample нишон медиҳад, ки чӣ тавр секвенсери MRSUBG барои кор дар реҷаи бӯйкунӣ танзим карда шавад. Ин собик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™ ва истифодаи API-ҳои дастраси Sigfox™. Онҳо дар роҳи лоиҳа дастрас мебошанд Projects\NUCLEO-WL33CC\Applications\Sigfox\:

  • Sigfox_CLI: Ин барнома нишон медиҳад, ки чӣ тавр истифода бурдани интерфейси сатри фармон (CLI) барои фиристодани фармонҳо, ки протоколи Sigfox™-ро барои ирсоли паёмҳо ва санҷишҳои пешакии сертификатсия истифода мебаранд.
  • Sigfox_PushButton: Ин барнома имкон медиҳад, ки қобилияти радиои дастгоҳи STM32WL33xx Sigfox ™ арзёбӣ шавад. Пахшкунии PB1 чаҳорчӯбаи санҷишии Sigfox™-ро интиқол медиҳад.

Таърихи ревизия

Љадвали 3. Таърихи таљдиди њуљљатњо

Сана Барраси Тағйирот
29-март-2024 1 Нашри аввал.
30 октябри 2024 2 Интегратсияи пурраи STM32CubeWL3 дар STM32Cube. Навсозӣ:

•         Муқаддима

•         Бахши 2: Хусусиятҳои асосии STM32CubeWL3

•         Бахши 3.2.1: ҷузъҳои миёнаравӣ

•         Бахши 4: бастаи нармафзори STM32CubeWL3 ба охир расидview

•         Бахши 5.1: Иҷроиши аввалин собиқample

•         Бахши 5.3: Барномаҳои РБ, намоишҳо ва собикamples

Илова карда шуд:

•         Бахши 5.1.1: Чӣ тавр иҷро кардани HAL собиқample

•         Бахши 5.2.1: Истифодаи STM32CubeMX барои таҳия ё навсозии барнома

• Сection 6.4: Оё ягон лоиҳаи қолабӣ барои периферии MRSUBG/LPAWUR мавҷуд астamples?

•         Бахши 6.5: Чӣ тавр STM32CubeMX кодро дар асоси нармафзори дарунсохт тавлид карда метавонад?

Хориҷ карда шуд:

•         Воситаҳои компютерӣ, аз чумла Навигатор, GUI STM32WL3, ва MR-SUBG Sequencer GUI

•         Чӣ тавр WiSE-Studio IMapper метавонад кодро дар асоси нармафзори воридшуда тавлид кунад?

•         Оё Navigator дастрасӣ ба захираҳои бастаи нармафзорро иҷозат медиҳад?

22 январи 2025 3 Доираи дастгоҳҳои мувофиқро ба микроконтроллерҳои STM32WL30xx ва STM32WL31xx дар ҷадвали 1 васеъ кард. Макросҳо барои хати маҳсулоти STM32WL3x.

ОГОҲИИ МУҲИМ – ДИККАТ ХОНЕД

  • STMicroelectronics NV ва филиалҳои он («СТ») ҳуқуқ доранд, ки дар вақти дилхоҳ бидуни огоҳӣ ба маҳсулоти ST ва/ё ба ин ҳуҷҷат тағйирот, ислоҳ, такмил, такмил ва такмил ворид кунанд. Харидорон бояд пеш аз додани фармоиш маълумоти охирини дахлдорро дар бораи маҳсулоти ST дастрас кунанд. Маҳсулоти ST мувофиқи шартҳо ва шартҳои фурӯши ST дар лаҳзаи тасдиқи фармоиш фурӯхта мешавад.
  • Харидорон барои интихоб, интихоб ва истифодаи маҳсулоти СТ танҳо масъуланд ва ST барои кӯмак дар барнома ё тарҳрезии маҳсулоти харидорон масъулият ба дӯш намегирад.
  • Аз ҷониби ST дар ин ҷо ягон иҷозатнома ба ягон ҳуқуқи моликияти зеҳнӣ дода намешавад.
  • Фурӯши дубораи маҳсулоти СТ бо шартҳои гуногун аз маълумоти дар ин ҷо овардашуда ҳама гуна кафолати аз ҷониби ST барои чунин маҳсулот додашударо бекор мекунад.
  • ST ва логотипи ST тамғаҳои тиҷоратии ST мебошанд. Барои маълумоти иловагӣ дар бораи тамғаҳои молии ST, нигаред www.st.com/trademarks. Ҳама номҳои маҳсулот ё хидмати дигар моликияти соҳибони мувофиқ мебошанд.
  • Маълумот дар ин ҳуҷҷат маълумотеро, ки қаблан дар ҳама версияҳои қаблии ин ҳуҷҷат дода шуда буданд, иваз мекунад ва иваз мекунад.
  • © 2025 STMicroelectronics – Ҳама ҳуқуқҳо ҳифз шудаанд

Саволҳои зиёд такрормешуда

Кай ман бояд ба ҷои драйверҳои LL HAL -ро истифода барам?

Драйверҳои HAL API-ҳои сатҳи баланд ва ба функсионалӣ нигаронидашударо бо сатҳи баланди интиқол пешниҳод мекунанд. Мушкилии маҳсулот ё периферӣ барои корбарони ниҳоӣ пинҳон аст. Драйверҳои LL API-ҳои сатҳи пасти регистрро бо оптимизатсияи беҳтар, вале камтар интиқолшаванда пешниҳод мекунанд. Онҳо дониши амиқи мушаххасоти маҳсулот ё IP-ро талаб мекунанд.

API-ҳои ибтидоии LL чӣ гуна фаъол карда мешаванд?

Таърифи API-ҳои ибтидоии LL ва сохторҳои захираҳои алоқаманд бо литералҳо ва прототипҳо бо гузариши компиляцияи USE_FULL_LL_DRIVER шарт карда мешавад. Барои истифодаи API-ҳои ибтидоии LL, ин гузаришро ба протсессори компилятори асбобҳо илова кунед.

Оё ягон лоиҳаи қолабӣ барои MRSUBG/LPAWUR периферии собиқ вуҷуд дорадamples?

Барои сохтани MRSUBG ё LPAWUR-и навampЛоиҳа, ё аз лоиҳаи скелет, ки дар доираи Pr ojectsNUCLEO- 33CC Ex пешниҳод шудааст, оғоз кунедamples MRSUBG ё ProjectsNUCLEO-WL33CC Examples LPAWUR ё аз ягон лоиҳаи дастрас дар зери ҳамин феҳристҳо.

Чӣ тавр STM32CubeMX кодро дар асоси нармафзори дарунсохт тавлид карда метавонад?

STM32CubeMX дорои дониши дарунсохт дар бораи микроконтроллерҳои STM32, аз ҷумла таҷҳизоти периферӣ ва нармафзори онҳо мебошад, ки ба он имкон медиҳад, ки ба корбар муаррифии графикӣ пешниҳод кунад ва .h ё .c тавлид кунад. fileс дар асоси конфигуратсияи корбар.

Ҳуҷҷатҳо / Сарчашмаҳо

Микроконтроллерҳои ST STM32WL3x [pdf] Дастури корбар
Микроконтроллерҳои STM32WL3x, STM32WL3x, Микроконтроллерҳо

Иқтибосҳо

Назари худро гузоред

Суроғаи почтаи электронии шумо нашр намешавад. Майдонҳои зарурӣ қайд карда шудаанд *