STM32WL3x-loigo

ຊຸດຊອບແວ STM32WL3x

STM32WL3x-Software-Package -PRODCUCT

ຂໍ້ມູນຈໍາເພາະ

  • ຊື່ຜະລິດຕະພັນ: ຊຸດຊອບແວ STM32CubeWL3
  • ຄວາມເຂົ້າກັນໄດ້: STM32WL3x microcontrollers
  • ຄຸນ​ນະ​ສົມ​ບັດ​ຕົ້ນ​ຕໍ​:
    • ຊັ້ນຕ່ໍາ (LL) ແລະຊັ້ນ abstraction ຮາດແວ (HAL) APIs
    • SigfoxTM, FatFS, ແລະ FreeRTOSTM kernel ອົງປະກອບຕົວກາງ
    • ຄໍາຮ້ອງສະຫມັກແລະການສາທິດ

ຄໍາແນະນໍາການນໍາໃຊ້ຜະລິດຕະພັນ

ການເລີ່ມຕົ້ນ
ເພື່ອເລີ່ມຕົ້ນໃຊ້ຊຸດຊອບແວ STM32CubeWL3, ໃຫ້ເຮັດຕາມຂັ້ນຕອນເຫຼົ່ານີ້:

  1. ດາວໂຫລດຊຸດຊອບແວຈາກທາງການ webເວັບໄຊ.
  2. ຕິດຕັ້ງສະພາບແວດລ້ອມການພັດທະນາທີ່ຈໍາເປັນ (ເຊັ່ນ: STM32CubeIDE, EWARM, MDK-ARM).
  3. ອ້າງເຖິງ examples ແລະຄໍາຮ້ອງສະຫມັກສະຫນອງໃຫ້ສໍາລັບການຊີ້ນໍາ.

ສະຖາປັດຕະຍະກຳ STM32CubeWL3view
ຊຸດຊອບແວ STM32CubeWL3 ຖືກສ້າງຂຶ້ນປະມານສາມລະດັບຕົ້ນຕໍ

  • ລະດັບ 0: ຮາດແວ abstraction layer (HAL) ແລະ BSP drivers.
  • ລະດັບ 1: ແອັບພລິເຄຊັນ, ຫ້ອງສະໝຸດ, ແລະອົງປະກອບທີ່ອີງໃສ່ໂປຣໂຕຄໍ.

ຄຳຖາມທີ່ຖາມເລື້ອຍໆ (FAQ)

Q: ຄຸນສົມບັດຕົ້ນຕໍຂອງຊຸດຊອບແວ STM32CubeWL3 ແມ່ນຫຍັງ?
A: ລັກສະນະຕົ້ນຕໍປະກອບມີ APIs ຊັ້ນຕ່ໍາແລະ HAL, ອົງປະກອບກາງເຊັ່ນ SigfoxTM, FatFS, FreeRTOSTM kernel, ຄໍາຮ້ອງສະຫມັກ, ແລະສາທິດ.

ແນະນຳ

STM32Cube ແມ່ນການລິເລີ່ມຕົ້ນສະບັບ STMicroelectronics ເພື່ອປັບປຸງຜະລິດຕະພັນຂອງຜູ້ອອກແບບຢ່າງຫຼວງຫຼາຍໂດຍການຫຼຸດຜ່ອນຄວາມພະຍາຍາມໃນການພັດທະນາ, ເວລາ, ແລະຄ່າໃຊ້ຈ່າຍ. STM32Cube ກວມເອົາຫຼັກຊັບ STM32 ທັງໝົດ.

STM32Cube ປະ​ກອບ​ມີ​:

  • ຊຸດຂອງເຄື່ອງມືພັດທະນາຊອບແວທີ່ເປັນມິດກັບຜູ້ໃຊ້ເພື່ອກວມເອົາການພັດທະນາໂຄງການຈາກແນວຄວາມຄິດໄປສູ່ການຮັບຮູ້, ໃນນັ້ນມີ:
    • STM32CubeMX, ເຄື່ອງມືການຕັ້ງຄ່າຊອບແວກຣາຟິກທີ່ອະນຸຍາດໃຫ້ສ້າງລະຫັດເບື້ອງຕົ້ນ C ອັດຕະໂນມັດໂດຍໃຊ້ຕົວຊ່ວຍສ້າງກາຟິກ
    • STM32CubeIDE, ເຄື່ອງມືພັດທະນາທັງໝົດໃນໜຶ່ງດຽວທີ່ມີການຕັ້ງຄ່າອຸປະກອນຕໍ່ພ່ວງ, ການສ້າງລະຫັດ, ການລວບລວມລະຫັດ ແລະຄຸນສົມບັດດີບັກ
    • STM32CubeCLT, ເປັນຊຸດເຄື່ອງມືພັດທະນາເສັ້ນຄຳສັ່ງທັງໝົດໃນໜຶ່ງດຽວ ດ້ວຍການລວບລວມລະຫັດ, ການຂຽນໂປຣແກຣມບອດ ແລະຄຸນສົມບັດດີບັກ
    • STM32CubeProgrammer (STM32CubeProg), ເຄື່ອງມືການຂຽນໂປລແກລມທີ່ມີຢູ່ໃນຮູບແບບກາຟິກແລະເສັ້ນຄໍາສັ່ງ
    • STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), ເຄື່ອງມືຕິດຕາມກວດກາທີ່ມີປະສິດທິພາບເພື່ອປັບພຶດຕິກໍາ ແລະການປະຕິບັດຂອງແອັບພລິເຄຊັນ STM32 ໃນເວລາຈິງ
  • STM32Cube MCU ແລະ MPU Packages, ແພລະຕະຟອມຊອບແວທີ່ຝັງຕົວແບບຄົບວົງຈອນສະເພາະກັບແຕ່ລະຊຸດ microcontroller ແລະ microprocessor (ເຊັ່ນ: STM32CubeWL3 ສໍາລັບສາຍຜະລິດຕະພັນ STM32WL3x), ເຊິ່ງລວມມີ:
    • STM32Cube abstraction layer (HAL), ຮັບປະກັນການເຄື່ອນທີ່ສູງສຸດໃນທົ່ວຫຼັກຊັບ STM32
    • STM32Cube APIs ຊັ້ນຕ່ໍາ, ຮັບປະກັນການປະຕິບັດທີ່ດີທີ່ສຸດແລະຮອຍຕີນທີ່ມີລະດັບສູງຂອງການຄວບຄຸມຜູ້ໃຊ້ກ່ຽວກັບ] ຮາດແວ
    • ຊຸດທີ່ສອດຄ່ອງຂອງອົງປະກອບກາງເຊັ່ນ: FreeRTOS™ kernel, FatFS, ແລະ Sigfox™
    • ອຸປະຖຳຂອງຊອບແວທີ່ຝັງໄວ້ທັງໝົດທີ່ມີຊຸດອຸປະກອນຕໍ່ພ່ວງ ແລະ ແອັບພລິເຄຊັນamples
  • STM32Cube Expansion Packages, ເຊິ່ງປະກອບດ້ວຍອົງປະກອບຊອບແວທີ່ຝັງໄວ້ທີ່ເສີມການທໍາງານຂອງ STM32Cube MCU ແລະ MPU Packages ກັບ:
    • ສ່ວນຂະຫຍາຍອຸປະກອນກາງ ແລະຊັ້ນນຳໃຊ້
    • Examples ແລ່ນຢູ່ໃນບາງກະດານພັດທະນາ STMicroelectronics ສະເພາະ

ຄູ່ມືຜູ້ໃຊ້ນີ້ອະທິບາຍວິທີການເລີ່ມຕົ້ນກັບ STM32CubeWL3 MCU Package.
ພາກທີ 2 ອະທິບາຍລັກສະນະຕົ້ນຕໍຂອງ STM32CubeWL3 ແລະພາກທີ 3 ສະຫນອງການສິ້ນສຸດview ຂອງສະຖາປັດຕະຍະກໍາຂອງມັນແລະໂຄງສ້າງ MCU Package.

ຂໍ້ມູນທົ່ວໄປ

STM32CubeWL3 ແລ່ນແອັບພລິເຄຊັນການສາທິດ sub-GHz, ລວມທັງ Sigfox™ binaries, ເທິງ microcontrollers ສາຍຜະລິດຕະພັນ STM32WL3x ໂດຍອີງໃສ່ໂປເຊດເຊີ Arm® Cortex®‑M0+.
ໄມໂຄຄອນຄວບຄຸມ STM32WL3x ຝັງອຸປະກອນຕໍ່ທໍ່ວິທະຍຸ RF ທີ່ໃຊ້ໄດ້ມາດຕະຖານຂອງ STMicroelectronics, ເໝາະສຳລັບການບໍລິໂພກພະລັງງານຕໍ່າສຸດ ແລະປະສິດທິພາບວິທະຍຸທີ່ດີເລີດ, ຕະຫຼອດຊີວິດຂອງແບັດເຕີຣີທີ່ບໍ່ມີໃຜທຽບເທົ່າໄດ້.
ໝາຍເຫດ: Arm ເປັນເຄື່ອງໝາຍການຄ້າທີ່ຈົດທະບຽນຂອງ Arm Limited (ຫຼືບໍລິສັດຍ່ອຍຂອງມັນ) ໃນສະຫະລັດ ແລະ/ຫຼືຢູ່ບ່ອນອື່ນ.

ຄຸນນະສົມບັດຕົ້ນຕໍ STM32CubeWL3

  • STM32CubeWL3 MCU Package ແລ່ນດ້ວຍໄມໂຄຄອນຄວບຄຸມ STM32 32-bit ໂດຍອີງໃສ່ໂປເຊດເຊີ Arm® Cortex®-M0+. ມັນລວບລວມຢູ່ໃນຊຸດດຽວ, ອົງປະກອບຊອບແວທີ່ຝັງຢູ່ທົ່ວໄປທັງຫມົດທີ່ຕ້ອງການເພື່ອພັດທະນາຄໍາຮ້ອງສະຫມັກສໍາລັບ microcontrollers ສາຍຜະລິດຕະພັນ STM32WL3x.
  • ຊຸດປະກອບມີຊັ້ນຕ່ໍາ (LL) ແລະຊັ້ນ abstraction ຮາດແວ (HAL) APIs ທີ່ກວມເອົາຮາດແວ microcontroller, ພ້ອມກັບຊຸດອັນກວ້າງຂວາງຂອງ ex.amples ແລ່ນຢູ່ໃນກະດານ STMicroelectronics. HAL ແລະ LL APIs ແມ່ນມີຢູ່ໃນໃບອະນຸຍາດ BSD ແຫຼ່ງເປີດເພື່ອຄວາມສະດວກຂອງຜູ້ໃຊ້. ມັນຍັງປະກອບມີອົງປະກອບຕົວກາງຂອງ Sigfox™, FatFS, ແລະ FreeRTOS™.
  • STM32CubeWL3 MCU Package ຍັງສະຫນອງຄໍາຮ້ອງສະຫມັກແລະການສາທິດຈໍານວນຫນຶ່ງທີ່ປະຕິບັດອົງປະກອບກາງຂອງຕົນທັງຫມົດ.
  • ການຈັດວາງອົງປະກອບຊຸດ STM32CubeWL3 MCU ແມ່ນສະແດງຢູ່ໃນຮູບ 1.

ຮູບ 1. ອົງປະກອບຂອງຊຸດ STM32CubeWL3 MCU 

STM32WL3x-Software-Package (2)

ສະຖາປັດຕະຍະກຳ STM32CubeWL3view

ໂຊລູຊັ່ນ STM32CubeWL3 MCU Package ຖືກສ້າງຂຶ້ນປະມານສາມລະດັບເອກະລາດທີ່ໂຕ້ຕອບໄດ້ງ່າຍດັ່ງທີ່ໄດ້ອະທິບາຍໄວ້ໃນຮູບ 2. STM32WL3x-Software-Package (3)ລະດັບ 0
ລະດັບນີ້ແບ່ງອອກເປັນສາມຊັ້ນຍ່ອຍ:

  • ຊຸດສະຫນັບສະຫນູນກະດານ (BSP).
  • ຮາດແວ abstraction layer (HAL):
    • HAL ໄດເວີຕໍ່ຂ້າງ
    • ໄດເວີຊັ້ນຕ່ໍາ
  • ການ​ນໍາ​ໃຊ້​ອຸ​ປະ​ກອນ​ຕໍ່​ຂ້າງ​ພື້ນ​ຖານ examples.

ຊຸດສະຫນັບສະຫນູນກະດານ (BSP)
ຊັ້ນນີ້ສະຫນອງຊຸດຂອງ APIs ທີ່ກ່ຽວຂ້ອງກັບອົງປະກອບຮາດແວໃນກະດານຮາດແວ (ເຊັ່ນ: LEDs, ປຸ່ມ, ແລະໄດເວີ COM). ມັນ​ປະ​ກອບ​ດ້ວຍ​ສອງ​ພາກ​ສ່ວນ​:

  • ອົງປະກອບ:
    ນີ້ແມ່ນໄດເວີທີ່ກ່ຽວຂ້ອງກັບອຸປະກອນພາຍນອກຢູ່ໃນກະດານແລະບໍ່ແມ່ນ STM32. ໄດເວີອົງປະກອບສະຫນອງ APIs ສະເພາະກັບອົງປະກອບພາຍນອກຂອງໄດເວີ BSP ແລະສາມາດເຄື່ອນທີ່ໃນກະດານອື່ນໆ.
  • ຄົນ​ຂັບ BSP​:

ມັນອະນຸຍາດໃຫ້ເຊື່ອມຕໍ່ໄດເວີອົງປະກອບກັບກະດານສະເພາະແລະສະຫນອງຊຸດ API ທີ່ເປັນມິດກັບຜູ້ໃຊ້. ກົດລະບຽບການຕັ້ງຊື່ API ແມ່ນ BSP_FUNCT_Action().
Example: BSP_LED_Init(), BSP_LED_On()
BSP ແມ່ນອີງໃສ່ສະຖາປັດຕະຍະກຳແບບໂມດູລາທີ່ໃຫ້ການພອດໄດ້ງ່າຍໃນຮາດແວໃດນຶ່ງໂດຍພຽງແຕ່ປະຕິບັດການກຳນົດລະດັບຕໍ່າ.

ຊັ້ນ abstraction ຮາດແວ (HAL) ແລະຊັ້ນຕ່ໍາ (LL)
STM32CubeWL3 HAL ແລະ LL ແມ່ນປະກອບເຂົ້າກັນ ແລະກວມເອົາຄວາມຮຽກຮ້ອງຕ້ອງການຂອງແອັບພລິເຄຊັນທີ່ຫຼາກຫຼາຍ:

  • ໄດເວີ HAL ສະເຫນີ APIs ແບບພົກພາສູງທີ່ເນັ້ນໃສ່ຫນ້າທີ່ສູງ. ພວກມັນເຊື່ອງ MCU ແລະຄວາມຊັບຊ້ອນຂອງອຸປະກອນຕໍ່ຂ້າງໃຫ້ກັບຜູ້ໃຊ້ສຸດທ້າຍ.
    ໄດເວີ HAL ສະຫນອງ APIs ຮັດກຸມລັກສະນະຫຼາຍແບບທົ່ວໄປ, ເຊິ່ງເຮັດໃຫ້ການປະຕິບັດຄໍາຮ້ອງສະຫມັກຂອງຜູ້ໃຊ້ງ່າຍຂຶ້ນໂດຍການສະຫນອງຂະບວນການພ້ອມທີ່ຈະໃຊ້. ຕົວຢ່າງample, ສໍາລັບອຸປະກອນຕໍ່ພ່ວງການສື່ສານ (I2C, UART, ແລະອື່ນໆ), ມັນສະຫນອງ APIs ອະນຸຍາດໃຫ້ການເລີ່ມຕົ້ນແລະການຕັ້ງຄ່າອຸປະກອນຂ້າງຄຽງ, ການຄຸ້ມຄອງການໂອນຂໍ້ມູນໂດຍອີງໃສ່ການລົງຄະແນນສຽງ, ການຂັດຂວາງ, ຫຼືຂະບວນການ DMA, ແລະການຈັດການຄວາມຜິດພາດການສື່ສານທີ່ອາດຈະເກີດຂື້ນໃນລະຫວ່າງການສື່ສານ. APIs ໄດເວີ HAL ຖືກແບ່ງອອກເປັນສອງປະເພດ:
  1. APIs ທົ່ວໄປ, ເຊິ່ງສະຫນອງຫນ້າທີ່ທົ່ວໄປແລະທົ່ວໄປໃຫ້ກັບ microcontrollers ຊຸດ STM32 ທັງຫມົດ.
  2. Extension APIs, ເຊິ່ງສະຫນອງຫນ້າທີ່ສະເພາະແລະປັບແຕ່ງສໍາລັບຄອບຄົວສະເພາະຫຼືຈໍານວນສ່ວນສະເພາະໃດຫນຶ່ງ.
  • APIs ຊັ້ນຕ່ໍາສະຫນອງ APIs ລະດັບຕ່ໍາໃນລະດັບລົງທະບຽນ, ມີການເພີ່ມປະສິດທິພາບທີ່ດີກວ່າແຕ່ມີການເຄື່ອນຍ້າຍຫນ້ອຍລົງ. ພວກເຂົາຕ້ອງການຄວາມຮູ້ຢ່າງເລິກເຊິ່ງກ່ຽວກັບ MCU ແລະຂໍ້ມູນສະເພາະຂອງອຸປະກອນຕໍ່ພ່ວງ.
    ໄດເວີ LL ຖືກອອກແບບມາເພື່ອສະເຫນີຊັ້ນຜູ້ຊ່ຽວຊານທີ່ມີນ້ໍາຫນັກເບົາໄວທີ່ໃກ້ຊິດກັບຮາດແວຫຼາຍກວ່າ HAL. ກົງກັນຂ້າມກັບ HAL, LL APIs ບໍ່ໄດ້ຖືກສະຫນອງໃຫ້ອຸປະກອນຕໍ່ພ່ວງທີ່ການເຂົ້າເຖິງທີ່ເຫມາະສົມບໍ່ແມ່ນລັກສະນະທີ່ສໍາຄັນ, ຫຼືສໍາລັບຜູ້ທີ່ຕ້ອງການການຕັ້ງຄ່າຊອບແວທີ່ຫນັກແຫນ້ນຫຼື stack ຊັ້ນເທິງທີ່ສັບສົນ.

ຄຸນ​ນະ​ສົມ​ບັດ​ຂອງ​ຄົນ​ຂັບ LL​:

  • ຊຸດຂອງຟັງຊັນເພື່ອເລີ່ມຕົ້ນລັກສະນະຕົ້ນຕໍ peripheral ຕາມພາລາມິເຕີທີ່ລະບຸໄວ້ໃນໂຄງສ້າງຂໍ້ມູນ.
  • ຊຸດຂອງຟັງຊັນເພື່ອຕື່ມຂໍ້ມູນໃສ່ໂຄງສ້າງຂໍ້ມູນເບື້ອງຕົ້ນດ້ວຍຄ່າປັບຄ່າທີ່ສອດຄ້ອງກັບແຕ່ລະຊ່ອງຂໍ້ມູນ.
  • ຟັງຊັນສຳລັບການຍົກເລີກການເລີ່ມຕົ້ນຂອງອຸປະກອນຕໍ່ຂ້າງ (ການລົງທະບຽນອຸປະກອນຕໍ່ພ່ວງຖືກຟື້ນຟູເປັນຄ່າເລີ່ມຕົ້ນຂອງພວກມັນ).
  • ຊຸດຂອງຫນ້າທີ່ inline ສໍາລັບການເຂົ້າເຖິງການລົງທະບຽນໂດຍກົງແລະປະລໍາມະນູ.
  • ຄວາມເປັນເອກະລາດຢ່າງເຕັມທີ່ຈາກ HAL ແລະຄວາມສາມາດໃນການນໍາໃຊ້ໃນຮູບແບບ standalone (ບໍ່ມີຄົນຂັບ HAL).
  • ການ​ຄຸ້ມ​ຄອງ​ຢ່າງ​ເຕັມ​ທີ່​ຂອງ​ຄຸນ​ນະ​ສົມ​ບັດ peripheral ສະ​ຫນັບ​ສະ​ຫນູນ​.

ການ​ນໍາ​ໃຊ້​ອຸ​ປະ​ກອນ​ຕໍ່​ຂ້າງ​ພື້ນ​ຖານ examples
ຊັ້ນນີ້ກວມເອົາ examples ສ້າງຢູ່ເທິງອຸປະກອນຕໍ່ພ່ວງ STM32 ໂດຍໃຊ້ພຽງແຕ່ຊັບພະຍາກອນ HAL ແລະ BSP.
ການສາທິດ examples ຍັງມີຢູ່ເພື່ອສະແດງໃຫ້ເຫັນ ex ສະລັບສັບຊ້ອນຫຼາຍample ສະຖານະການທີ່ມີອຸປະກອນຕໍ່ພ່ວງສະເພາະ, ເຊັ່ນ MRSUBG ແລະ LPAWUR.

ລະດັບ 1
ລະດັບນີ້ແບ່ງອອກເປັນສອງຊັ້ນຍ່ອຍ:

  • ອົງປະກອບຂອງອຸປະກອນກາງ
  • Examples ອີງໃສ່ອົງປະກອບກາງ

ອົງປະກອບຂອງອຸປະກອນກາງ
ສື່ກາງແມ່ນຊຸດຂອງຫ້ອງສະໝຸດທີ່ກວມເອົາ FreeRTOS™ kernel, FatFS, ແລະ Sigfox™ protocol library. ປະຕິສໍາພັນຕາມລວງນອນລະຫວ່າງອົງປະກອບຂອງຊັ້ນນີ້ແມ່ນເຮັດໄດ້ໂດຍການໂທຫາ APIs ທີ່ໂດດເດັ່ນ.
ປະຕິສໍາພັນແນວຕັ້ງກັບໄດເວີຊັ້ນຕ່ໍາແມ່ນເຮັດໄດ້ໂດຍຜ່ານການເອີ້ນຄືນສະເພາະແລະ macros static ປະຕິບັດໃນການໂຕ້ຕອບການໂທລະບົບຫ້ອງສະຫມຸດ.
ລັກສະນະຕົ້ນຕໍຂອງແຕ່ລະອົງປະກອບກາງມີດັ່ງນີ້:

  • FreeRTOS™ kernel: ປະຕິບັດລະບົບປະຕິບັດງານເວລາຈິງ (RTOS), ອອກແບບສໍາລັບລະບົບຝັງ.
  • Sigfox ™: ປະຕິບັດຫ້ອງສະຫມຸດອະນຸສັນຍາ Sigfox ™ທີ່ສອດຄ່ອງກັບເຄືອຂ່າຍໂປໂຕຄອນ Sigfox™ ແລະປະກອບມີຫ້ອງສະຫມຸດໂປໂຕຄອນການທົດສອບ RF ເພື່ອທົດສອບກັບເຄື່ອງມື RF Sigfox™.
  • FatFS: ປະຕິບັດ FAT ທົ່ວໄປ file ໂມດູນລະບົບ.

Examples ອີງໃສ່ອົງປະກອບກາງ
ແຕ່ລະອົງປະກອບເຄື່ອງກາງມາພ້ອມກັບຫນຶ່ງຫຼືຫຼາຍ examples, ຍັງເອີ້ນວ່າຄໍາຮ້ອງສະຫມັກ, ສະແດງວິທີການນໍາໃຊ້ມັນ. ການປະສົມປະສານ examples ທີ່ໃຊ້ອົງປະກອບຕົວກາງຫຼາຍອັນໄດ້ຖືກສະຫນອງໃຫ້ເຊັ່ນດຽວກັນ.

ຊຸດເຟີມແວ STM32CubeWL3 ສິ້ນສຸດລົງview

ຮອງຮັບອຸປະກອນ ແລະຮາດແວ STM32WL3x
STM32Cube ສະເໜີຊັ້ນຮາດແວທີ່ບໍ່ມີຕົວຕົນແບບເຄື່ອນທີ່ສູງ (HAL) ທີ່ສ້າງຂຶ້ນອ້ອມຮອບສະຖາປັດຕະຍະກຳທົ່ວໄປ. ມັນອະນຸຍາດໃຫ້ຫຼັກການຂອງການສ້າງຊັ້ນ, ເຊັ່ນ: ການນໍາໃຊ້ຊັ້ນກາງເພື່ອປະຕິບັດຫນ້າທີ່ຂອງເຂົາເຈົ້າໂດຍບໍ່ຮູ້, ໃນຄວາມເລິກ, ສິ່ງທີ່ MCU ຖືກນໍາໃຊ້. ນີ້ປັບປຸງການນໍາມາໃຊ້ລະຫັດຫ້ອງສະໝຸດຄືນໃໝ່ ແລະຮັບປະກັນການພົກພາໄດ້ງ່າຍຕໍ່ກັບອຸປະກອນອື່ນໆ.

  • ນອກຈາກນັ້ນ, ດ້ວຍສະຖາປັດຕະຍະກໍາຊັ້ນຂອງມັນ, STM32CubeWL3 ສະຫນອງການສະຫນັບສະຫນູນຢ່າງເຕັມທີ່ສໍາລັບທຸກສາຍຜະລິດຕະພັນ STM32WL3x.
  • ຜູ້ໃຊ້ຕ້ອງກໍານົດ macro ທີ່ຖືກຕ້ອງໃນ stm32wl3x.h ເທົ່ານັ້ນ.

ຕາຕະລາງ 1 ສະແດງມະຫາພາກເພື່ອກໍານົດໂດຍຂຶ້ນກັບອຸປະກອນສາຍຜະລິດຕະພັນ STM32WL3x ທີ່ໃຊ້. ມະຫາພາກນີ້ຕ້ອງຖືກກຳນົດໄວ້ໃນຕົວປະມວນຜົນກ່ອນ compiler.
ຕາຕະລາງ 1. Macros ສໍາລັບສາຍຜະລິດຕະພັນ STM32WL3x

Macro ກໍານົດໃນ stm32wl3x.h ອຸປະກອນສາຍຜະລິດຕະພັນ STM32WL3x
stm32wl33 ໄມໂຄຄອນຄວບຄຸມ STM32WL33xx

STM32CubeWL3 ມີຊຸດທີ່ອຸດົມສົມບູນຂອງ examples ແລະຄໍາຮ້ອງສະຫມັກໃນທຸກລະດັບ, ເຮັດໃຫ້ມັນງ່າຍທີ່ຈະເຂົ້າໃຈແລະນໍາໃຊ້ໄດເວີ HAL ຫຼືອົງປະກອບຕົວກາງ. ເຫຼົ່ານີ້ examples ດໍາເນີນການຢູ່ໃນກະດານ STMicroelectronics ທີ່ລະບຸໄວ້ໃນຕາຕະລາງ 2.

ກະດານ ອຸປະກອນທີ່ຮອງຮັບກະດານ STM32WL3x
NUCLEO-WL33CC1 STM32WL33CC
NUCLEO-WL33CC2 STM32WL33CC

ຊຸດ MCU STM32CubeWL3 ສາມາດແລ່ນໄດ້ໃນຮາດແວທີ່ເຂົ້າກັນໄດ້. ຜູ້​ໃຊ້​ພຽງ​ແຕ່​ປັບ​ປຸງ​ການ​ຂັບ​ລົດ BSP ເພື່ອ​ພອດ ex ໄດ້​ສະ​ຫນອງ​ໃຫ້​amples ໃນກະດານຂອງພວກເຂົາ, ຖ້າສິ່ງເຫຼົ່ານີ້ມີລັກສະນະຮາດແວດຽວກັນ (ເຊັ່ນ: LEDs ຫຼືປຸ່ມ).

ຊຸດເຟີມແວຫຼາຍກວ່າview
STM32CubeWL3 MCU Package solution ແມ່ນສະໜອງໃຫ້ຢູ່ໃນຊຸດ zip ດຽວທີ່ມີໂຄງສ້າງສະແດງໃນຮູບ 3.
ຮູບ 3. ໂຄງສ້າງແພັກເກັດເຟີມແວ STM32CubeWL3

STM32WL3x-Software-Package (4)

ຂໍ້ຄວນລະວັງ:

ຜູ້ໃຊ້ຕ້ອງບໍ່ດັດແປງອົງປະກອບ files. ຜູ້ໃຊ້ສາມາດແກ້ໄຂ \ ແຫຼ່ງໂຄງການເທົ່ານັ້ນ.
ສໍາລັບແຕ່ລະຄະນະ, ຊຸດຂອງ examples ແມ່ນສະຫນອງໃຫ້ກັບໂຄງການ preconfigured ສໍາລັບ EWARM, MDK-ARM, ແລະ STM32CubeIDE toolchains.
ຮູບທີ 4 ສະແດງໂຄງສ້າງໂຄງການສໍາລັບກະດານ NUCLEO-WL33CCx. STM32WL3x-Software-Package (5)

ອະດີດamples ຖືກຈັດປະເພດຂຶ້ນກັບລະດັບ STM32CubeWL3 ທີ່ພວກເຂົາໃຊ້. ພວກ​ເຂົາ​ເຈົ້າ​ມີ​ຊື່​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​:

  • ລະດັບ 0 ຕົວຢ່າງamples ຖືກເອີ້ນວ່າ Examples, Examples_LL, ແລະ Examples_MIX. ພວກເຂົາໃຊ້ໄດເວີ HAL ຕາມລໍາດັບ, ໄດເວີ LL, ແລະການປະສົມຂອງໄດເວີ HAL ແລະ LL ໂດຍບໍ່ມີອົງປະກອບກາງໃດໆ. ການສາທິດ examples ຍັງມີຢູ່.
  • ລະດັບ 1 ຕົວຢ່າງamples ເອີ້ນວ່າຄໍາຮ້ອງສະຫມັກ. ພວກເຂົາເຈົ້າສະຫນອງກໍລະນີການນໍາໃຊ້ປົກກະຕິຂອງແຕ່ລະອົງປະກອບກາງ.

ແອັບພລິເຄຊັນເຟີມແວໃດນຶ່ງສຳລັບກະດານທີ່ໃຫ້ມາສາມາດສ້າງໄດ້ໄວໂດຍໃຊ້ໂຄງການແມ່ແບບທີ່ມີຢູ່ໃນບັນຊີ Templ ates ແລະ Templates_LL.

Examples, Examples_LL, ແລະ Examples_MIX ມີໂຄງສ້າງດຽວກັນ:

  • \inc ໂຟນເດີທີ່ມີສ່ວນຫົວທັງໝົດ files.
  • \src ໂຟນເດີທີ່ມີລະຫັດແຫຼ່ງ.
  • ໂຟນເດີ \EWARM, \MDK-ARM, ແລະ \STM32CubeIDE ປະກອບດ້ວຍໂຄງການທີ່ກຳນົດຄ່າໄວ້ລ່ວງໜ້າສຳລັບແຕ່ລະຕ່ອງໂສ້ເຄື່ອງມື.
  • readme.md ແລະ readme.html ອະທິບາຍ example ພຶດຕິກໍາແລະສະພາບແວດລ້ອມທີ່ຈໍາເປັນເພື່ອເຮັດໃຫ້ມັນເຮັດວຽກ.

ເລີ່ມຕົ້ນດ້ວຍ STM32CubeWL3

ແລ່ນ ex ທໍາອິດample
ພາກສ່ວນນີ້ອະທິບາຍວ່າມັນງ່າຍດາຍແນວໃດທີ່ຈະດໍາເນີນການ ex ທໍາອິດample ພາຍໃນ STM32CubeWL3. ມັນໃຊ້ເປັນຕົວຢ່າງຂອງການຜະລິດສະຫຼັບ LED ແບບງ່າຍດາຍທີ່ແລ່ນຢູ່ໃນກະດານ NUCLEO-WL33CC1:

  1. ດາວໂຫລດແພັກເກັດ MCU STM32CubeWL3.
  2. Unzip ມັນ, ຫຼືດໍາເນີນການຕິດຕັ້ງຖ້າຫາກວ່າສະຫນອງໃຫ້, ເຂົ້າໄປໃນໄດເລກະທໍລີທີ່ທ່ານເລືອກ.
  3. ໃຫ້ແນ່ໃຈວ່າບໍ່ໄດ້ດັດແປງໂຄງສ້າງແພັກເກັດທີ່ສະແດງຢູ່ໃນຮູບ 3. ໂຄງສ້າງແພັກເກັດເຟີມແວ STM32CubeWL3. ໃຫ້ສັງເກດວ່າມັນຍັງແນະນໍາໃຫ້ຄັດລອກຊຸດທີ່ຕັ້ງຢູ່ໃກ້ກັບປະລິມານຮາກ (ຫມາຍຄວາມວ່າ C:\ST ຫຼື G:\Tests), ເນື່ອງຈາກວ່າບາງ IDEs ພົບບັນຫາໃນເວລາທີ່ເສັ້ນທາງຍາວເກີນໄປ.

ວິທີການດໍາເນີນການ HAL example
ກ່ອນທີ່ຈະໂຫລດແລະແລ່ນ example, ມັນແມ່ນແນະນໍາໃຫ້ອ່ານ exampອ່ານຂ້ອຍ file ສໍາ​ລັບ​ການ​ຕັ້ງ​ຄ່າ​ສະ​ເພາະ​ໃດ​ຫນຶ່ງ​.

  1. ເລືອກເບິ່ງ \Projects\NUCLEO-WL33CC\Examples.
  2. ເປີດ \GPIO, ຈາກນັ້ນ \GPIO_EXTI ໂຟນເດີ.
  3. ເປີດໂຄງການດ້ວຍລະບົບຕ່ອງໂສ້ເຄື່ອງມືທີ່ຕ້ອງການ. ໄວກວ່າview ກ່ຽວກັບວິທີການເປີດ, ສ້າງ, ແລະດໍາເນີນການ example ກັບຕ່ອງໂສ້ເຄື່ອງມືທີ່ສະຫນັບສະຫນູນແມ່ນໃຫ້ຂ້າງລຸ່ມນີ້.
  4. ກໍ່ສ້າງຄືນໃຫມ່ທັງຫມົດ files ແລະໂຫຼດຮູບພາບເຂົ້າໄປໃນຫນ່ວຍຄວາມຈໍາເປົ້າຫມາຍ.
  5. ດໍາເນີນການ exampເລ. ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ, ເບິ່ງ exampອ່ານຂ້ອຍ file.

ເພື່ອເປີດ, ສ້າງ, ແລະດໍາເນີນການ example ກັບແຕ່ລະເຄື່ອງມືທີ່ສະຫນັບສະຫນູນ, ປະຕິບັດຕາມຂັ້ນຕອນຂ້າງລຸ່ມນີ້:

  • ອຸ່ນ:
  1. ພາຍໃຕ້ Examples folder, ເປີດໂຟນເດີຍ່ອຍ \EWARM.
  2. ເປີດໃຊ້ພື້ນທີ່ເຮັດວຽກ Project.eww (ຊື່ພື້ນທີ່ເຮັດວຽກອາດຈະປ່ຽນຈາກອັນໜຶ່ງampໄປຫາຄົນອື່ນ).
  3. ກໍ່ສ້າງຄືນໃຫມ່ທັງຫມົດ files: [ໂຄງການ]>[ສ້າງຄືນໃຫມ່ທັງຫມົດ].
  4. ໂຫຼດຮູບພາບໂຄງການ: [ໂຄງການ]> [Debug].
  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. ດໍາເນີນການໂຄງການ: [Debug]>[Run (F5)].
  • STM32CubeIDE:
  1. ເປີດລະບົບຕ່ອງໂສ້ເຄື່ອງມື STM32CubeIDE.
  2. ຄລິກທີ່ [File]>[ສະຫຼັບພື້ນທີ່ເຮັດວຽກ]>[ອື່ນໆ] ແລະທ່ອງໄປຫາໄດເຣັກທໍຣີພື້ນທີ່ເຮັດວຽກ STM32CubeIDE.
  3. ຄລິກທີ່ [File]>[ການນໍາເຂົ້າ], ເລືອກ [ທົ່ວໄປ]>[ໂຄງການທີ່ມີຢູ່ແລ້ວເຂົ້າໄປໃນບ່ອນເຮັດວຽກ], ແລະຈາກນັ້ນຄລິກ [Next].
  4. ໄປຫາໄດເລກະທໍລີພື້ນທີ່ເຮັດວຽກ STM32CubeIDE ແລະເລືອກໂຄງການ.
  5. ກໍ່ສ້າງໂຄງການທັງຫມົດ files​: ເລືອກ​ໂຄງ​ການ​ຢູ່​ໃນ​ປ່ອງ​ຢ້ຽມ Project Explorer ຫຼັງ​ຈາກ​ນັ້ນ​ໃຫ້​ຄລິກ​ໃສ່​
    [ໂຄງການ]> [ສ້າງໂຄງການ] ເມນູ.
  6.  ດໍາເນີນການໂຄງການ: [Run]>[Debug (F11)].

ການພັດທະນາຄໍາຮ້ອງສະຫມັກທີ່ກໍາຫນົດເອງ

ໃຊ້ STM32CubeMX ເພື່ອພັດທະນາ ຫຼືອັບເດດແອັບພລິເຄຊັນ
ໃນຊຸດ STM32Cube MCU, ເກືອບທຸກໂຄງການ examples ແມ່ນຖືກສ້າງຂຶ້ນດ້ວຍເຄື່ອງມື STM32CubeMX ເພື່ອເລີ່ມຕົ້ນລະບົບ, ອຸປະກອນຕໍ່ພ່ວງ, ແລະເຄື່ອງກາງ.

ການນໍາໃຊ້ໂດຍກົງຂອງໂຄງການທີ່ມີຢູ່ແລ້ວ example ຈາກເຄື່ອງມື STM32CubeMX ຕ້ອງການ STM32CubeMX 6.12.0 ຫຼືສູງກວ່າ:

  • ຫຼັງຈາກການຕິດຕັ້ງ STM32CubeMX, ເປີດແລະຖ້າຈໍາເປັນປັບປຸງໂຄງການທີ່ສະເຫນີ.
    ວິທີທີ່ງ່າຍທີ່ສຸດທີ່ຈະເປີດໂຄງການທີ່ມີຢູ່ແລ້ວແມ່ນການຄລິກສອງຄັ້ງໃສ່ *.ioc file ດັ່ງນັ້ນ STM32CubeMX ເປີດໂຄງການແລະແຫຼ່ງຂອງມັນໂດຍອັດຕະໂນມັດ files. 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\< STM32xxx_yyy>\Templates ຫຼືຈາກໂຄງການທີ່ມີຢູ່ພາຍໃຕ້ \Projects\ \ ຕົວຢ່າງampl es ຫຼື \ໂຄງການ\ \ ຄໍາຮ້ອງສະຫມັກ (ບ່ອນທີ່ ຫມາຍເຖິງຊື່ຄະນະກໍາມະ). ໂຄງ​ການ​ແມ່​ແບບ​ສະ​ຫນອງ​ການ​ທໍາ​ງານ loop ຕົ້ນ​ຕໍ​ທີ່​ເປົ່າ​ຫວ່າງ​. ຢ່າງໃດກໍ່ຕາມ, ມັນເປັນຈຸດເລີ່ມຕົ້ນທີ່ດີທີ່ຈະເຂົ້າໃຈການຕັ້ງຄ່າໂຄງການ STM32CubeWL32. ແມ່ແບບມີລັກສະນະດັ່ງຕໍ່ໄປນີ້:
    • ມັນມີລະຫັດແຫຼ່ງ HAL, CMSIS, ແລະ BSP ໄດເວີ, ເຊິ່ງແມ່ນຊຸດຂັ້ນຕ່ໍາຂອງອົງປະກອບທີ່ຕ້ອງການເພື່ອພັດທະນາລະຫັດໃນກະດານທີ່ກໍານົດ.
    • ມັນມີເສັ້ນທາງລວມສໍາລັບອົງປະກອບເຟີມແວທັງຫມົດ.
    • ມັນກໍານົດອຸປະກອນສາຍຜະລິດຕະພັນ STM32WL3x ທີ່ຮອງຮັບ, ອະນຸຍາດໃຫ້ໄດເວີ CMSIS ແລະ HAL ຖືກຕັ້ງຄ່າຢ່າງຖືກຕ້ອງ.
    • ມັນໃຫ້ຜູ້ໃຊ້ພ້ອມນຳໃຊ້ files preconfigured ດັ່ງທີ່ສະແດງຂ້າງລຸ່ມນີ້:
    • HAL ເລີ່ມຕົ້ນດ້ວຍພື້ນຖານເວລາເລີ່ມຕົ້ນດ້ວຍ Arm® core SysTick.
    • SysTick ISR ຖືກຈັດຕັ້ງປະຕິບັດເພື່ອຈຸດປະສົງ HAL_Delay().
      ໝາຍເຫດ: ເມື່ອສຳເນົາໂຄງການທີ່ມີຢູ່ແລ້ວໄປໃສ່ບ່ອນອື່ນ, ໃຫ້ແນ່ໃຈວ່າເສັ້ນທາງທັງໝົດທີ່ລວມມານັ້ນຖືກອັບເດດແລ້ວ.
  2. ຕັ້ງຄ່າອົງປະກອບເຟີມແວ
    ອົງປະກອບຂອງ HAL ແລະ middleware ສະເໜີຊຸດຕົວເລືອກການຕັ້ງຄ່າເວລາສ້າງໂດຍໃຊ້ macros #define ປະກາດໃນສ່ວນຫົວ. file. ການຕັ້ງຄ່າແມ່ແບບ file ໄດ້ຖືກສະຫນອງໃຫ້ພາຍໃນແຕ່ລະອົງປະກອບ, ເຊິ່ງຕ້ອງໄດ້ຮັບການຄັດລອກໄປທີ່ໂຟເດີໂຄງການ (ປົກກະຕິແລ້ວການຕັ້ງຄ່າ file ມີຊື່ວ່າ xxx_conf_template.h, fragment _template ຈໍາເປັນຕ້ອງໄດ້ເອົາອອກເມື່ອສຳເນົາມັນໄປໃສ່ໂຟນເດີໂຄງການ). ການ​ຕັ້ງ​ຄ່າ​ file ໃຫ້ຂໍ້ມູນພຽງພໍເພື່ອເຂົ້າໃຈຜົນກະທົບຂອງແຕ່ລະທາງເລືອກໃນການຕັ້ງຄ່າ. ຂໍ້ມູນລາຍລະອຽດເພີ່ມເຕີມແມ່ນມີຢູ່ໃນເອກະສານທີ່ໃຫ້ສໍາລັບແຕ່ລະອົງປະກອບ.
  3. ເລີ່ມຕົ້ນຫ້ອງສະຫມຸດ HAL
    ຫຼັງຈາກໂດດໄປຫາໂຄງການຕົ້ນຕໍ, ລະຫັດຄໍາຮ້ອງສະຫມັກຕ້ອງໂທຫາ HAL_Init() API ເພື່ອເລີ່ມຕົ້ນຫ້ອງສະຫມຸດ HAL, ເຊິ່ງປະຕິບັດວຽກງານດັ່ງຕໍ່ໄປນີ້:
    • ການຕັ້ງຄ່າຂອງ flash memory prefetch ແລະ SysTick interrupt ບູລິມະສິດ (ຜ່ານ macros ທີ່ກໍານົດໄວ້ໃນ stm3 2wl3x_hal_conf.h).
    •  ການຕັ້ງຄ່າຂອງ SysTick ເພື່ອສ້າງການຂັດຂວາງທຸກໆ millisecond ທີ່ SysTick interrupt ບູລິມະສິດ TICK_INT_PRIO ທີ່ກໍານົດໃນ stm32wl3x_hal_conf.h.
    • ການຕັ້ງຄ່າບູລິມະສິດກຸ່ມ NVIC ເປັນ 0.
    • ຟັງຊັນການໂທກັບ HAL_MspInit() ທີ່ກຳນົດໄວ້ໃນຜູ້ໃຊ້ stm32wl3x_hal_msp.c file ເພື່ອປະຕິບັດການເລີ່ມຕົ້ນຮາດແວລະດັບຕ່ໍາທົ່ວໂລກ.
  4. ຕັ້ງຄ່າໂມງລະບົບ
    ການຕັ້ງຄ່າໂມງລະບົບແມ່ນເຮັດໂດຍການໂທຫາສອງ APIs ທີ່ອະທິບາຍຂ້າງລຸ່ມນີ້:
    • HAL_RCC_OscConfig(): API ນີ້ກຳນົດຄ່າ oscillators ພາຍໃນ ແລະ ພາຍນອກ. ຜູ້ໃຊ້ເລືອກທີ່ຈະກໍານົດຫນຶ່ງຫຼືທັງຫມົດ oscillators.
    • HAL_RCC_ClockConfig(): API ນີ້ກຳນົດຄ່າແຫຼ່ງໂມງຂອງລະບົບ, ຄວາມຢືດຢຸ່ນຂອງໜ່ວຍຄວາມຈຳແຟລດ, ແລະ AHB ແລະ APB prescalers.
  5. ເລີ່ມຕົ້ນອຸປະກອນຕໍ່ພ່ວງ
    •  ກ່ອນອື່ນ ໝົດ ຂຽນຟັງຊັນການເລີ່ມຕົ້ນຂອງອຸປະກອນຂ້າງຄຽງ. ດໍາເນີນການດັ່ງຕໍ່ໄປນີ້:
    • ເປີດໃຊ້ໂມງຕໍ່ຂ້າງ.
    • ຕັ້ງຄ່າ GPIOs ຕໍ່ຂ້າງ.
    • ຕັ້ງຄ່າຊ່ອງ DMA ແລະເປີດໃຊ້ການຂັດຂວາງ DMA (ຖ້າຈໍາເປັນ).
    • ເປີດໃຊ້ການຂັດຈັງຫວະອຸປະກອນຕໍ່ຂ້າງ (ຖ້າຕ້ອງການ).
    • ແກ້ໄຂ stm32xxx_it.c ເພື່ອໂທຫາຕົວຈັດການລົບກວນທີ່ຕ້ອງການ (ອຸປະກອນຕໍ່ພ່ວງ ແລະ DMA), ຖ້າຈໍາເປັນ.
    •  ຂະບວນການຂຽນຟັງຊັນໂທຄືນທີ່ສົມບູນຖ້າອຸປະກອນຕໍ່ຂັດລົບກວນຫຼື DMA ແມ່ນຫມາຍຄວາມວ່າຈະຖືກນໍາໃຊ້.
    •  ໃນຜູ້ໃຊ້ main.c file, initialize the peripheral handle structure then call the peripheral initialization function to initialize the peripheral .
  6. ພັດທະນາແອັບພລິເຄຊັນ
    ໃນນີ້ stage, ລະບົບແມ່ນກຽມພ້ອມແລະການພັດທະນາລະຫັດຄໍາຮ້ອງສະຫມັກຂອງຜູ້ໃຊ້ສາມາດເລີ່ມຕົ້ນໄດ້.
    HAL ສະໜອງ APIs ທີ່ເຂົ້າໃຈງ່າຍ ແລະພ້ອມນຳໃຊ້ເພື່ອກຳນົດຄ່າອຸປະກອນຕໍ່ພ່ວງ. ມັນ​ສະ​ຫນັບ​ສະ​ຫນູນ​ການ​ສໍາ​ຫຼວດ​, ການ​ຂັດ​ຂວາງ​, ແລະ​ຮູບ​ແບບ​ການ​ດໍາ​ເນີນ​ໂຄງ​ການ DMA​, ເພື່ອ​ຮອງ​ຮັບ​ຄວາມ​ຕ້ອງ​ການ​ຂອງ​ຄໍາ​ຮ້ອງ​ສະ​ຫມັກ​ໃດ​ຫນຶ່ງ​. ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມກ່ຽວກັບວິທີການນໍາໃຊ້ແຕ່ລະອຸປະກອນຕໍ່ເນື່ອງ, ເບິ່ງ ex ອຸດົມສົມບູນampໄດ້ກໍານົດໄວ້ຢູ່ໃນຊຸດ STM32CubeWL3 MCU.

ຂໍ້ຄວນລະວັງ:
ໃນການປະຕິບັດ HAL ເລີ່ມຕົ້ນ, ເຄື່ອງຈັບເວລາ SysTick ຖືກນໍາໃຊ້ເປັນ timebase: ມັນສ້າງການຂັດຂວາງໃນຊ່ວງເວລາປົກກະຕິ. ຖ້າ HAL_Delay() ຖືກເອີ້ນຈາກຂະບວນການ ISR ຂ້າງຄຽງ, ໃຫ້ແນ່ໃຈວ່າການລົບກວນ SysTick ມີບູລິມະສິດສູງກວ່າ (ຕົວເລກຕໍ່າກວ່າ) ກ່ວາການຂັດຈັງຫວະຕໍ່ຂ້າງ. ຖ້າບໍ່ດັ່ງນັ້ນ, ຂະບວນການ ISR ຂອງຜູ້ໂທແມ່ນ
ຖືກບລັອກ. ຟັງຊັນທີ່ມີຜົນກະທົບກັບການຕັ້ງຄ່າ timebase ໄດ້ຖືກປະກາດວ່າເປັນ __weak ເພື່ອເຮັດໃຫ້ override ເປັນໄປໄດ້ໃນກໍລະນີຂອງການປະຕິບັດອື່ນໆໃນຜູ້ໃຊ້. file (ການ​ນໍາ​ໃຊ້​ເຄື່ອງ​ຈັບ​ເວ​ລາ​ຈຸດ​ປະ​ສົງ​ທົ່ວ​ໄປ​, ສໍາ​ລັບ​ການ​ຍົກ​ຕົວ​ຢ່າງ​ample, ຫຼືແຫຼ່ງເວລາອື່ນ).
ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ, ເບິ່ງ HAL_TimeBase exampເລ.

ຄໍາຮ້ອງສະຫມັກ LL
ພາກນີ້ອະທິບາຍຂັ້ນຕອນທີ່ຈໍາເປັນເພື່ອສ້າງຄໍາຮ້ອງສະຫມັກ LL ແບບກໍານົດເອງໂດຍໃຊ້ STM32CubeWL3.

  1. ສ້າງໂຄງການ
    ເພື່ອສ້າງໂຄງການໃຫມ່, ເລີ່ມຕົ້ນຈາກໂຄງການ Templates_LL ທີ່ສະຫນອງໃຫ້ແຕ່ລະກະດານພາຍໃຕ້ \Projects\ \Templates_LL ຫຼືຈາກໂຄງການທີ່ມີຢູ່ພາຍໃຕ້ \Projects\ \E xamples_LL ( ຫມາຍເຖິງຊື່ກະດານ, ເຊັ່ນ NUCLEO-WL32CC33).
    ໂຄງ​ການ​ແມ່​ແບບ​ສະ​ຫນອງ​ການ​ທໍາ​ງານ loop ຕົ້ນ​ຕໍ​ທີ່​ຫວ່າງ​ເປົ່າ​, ຊຶ່ງ​ເປັນ​ຈຸດ​ເລີ່ມ​ຕົ້ນ​ທີ່​ດີ​ທີ່​ຈະ​ເຂົ້າ​ໃຈ​ການ​ຕັ້ງ​ຄ່າ​ໂຄງ​ການ​ສໍາ​ລັບ STM32CubeWL3​. ລັກສະນະຕົ້ນຕໍຂອງແມ່ແບບແມ່ນດັ່ງຕໍ່ໄປນີ້:
    • ມັນປະກອບດ້ວຍລະຫັດແຫຼ່ງຂອງໄດເວີ LL ແລະ CMSIS, ເຊິ່ງເປັນຊຸດຂັ້ນຕ່ໍາຂອງອົງປະກອບທີ່ຈໍາເປັນເພື່ອພັດທະນາລະຫັດໃນກະດານທີ່ກໍານົດ.
    • ມັນມີເສັ້ນທາງລວມສໍາລັບອົງປະກອບເຟີມແວທີ່ຕ້ອງການທັງຫມົດ.
    • ມັນເລືອກອຸປະກອນສາຍຜະລິດຕະພັນ STM32WL3x ທີ່ຮອງຮັບ ແລະອະນຸຍາດໃຫ້ຕັ້ງຄ່າໄດເວີ CMSIS ແລະ LL ທີ່ຖືກຕ້ອງ.
    • ມັນໃຫ້ຜູ້ໃຊ້ພ້ອມທີ່ຈະໃຊ້ files ທີ່​ໄດ້​ກໍາ​ນົດ​ໄວ້​ລ່ວງ​ຫນ້າ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​:
    • main.h: LED ແລະ USER_BUTTON ຊັ້ນ abstraction ຄໍານິຍາມ.
    • main.c: ການຕັ້ງຄ່າໂມງລະບົບສໍາລັບຄວາມຖີ່ສູງສຸດ.
  2. Port the LL example:
    • ສຳເນົາ/ວາງໂຟນເດີ Templates_LL – ເພື່ອຮັກສາແຫຼ່ງເບື້ອງຕົ້ນ – ຫຼືໂດຍກົງປັບປຸງໂຄງການ Templa tes_LL ທີ່ມີຢູ່ແລ້ວ.
    • ຫຼັງຈາກນັ້ນ, porting ປະກອບດ້ວຍຕົ້ນຕໍໃນການທົດແທນ Templates_LL files ໂດຍ Examples_LL ໂຄງການເປົ້າຫມາຍ.
    • ຮັກສາພາກສ່ວນສະເພາະຂອງກະດານທັງໝົດ. ສໍາລັບເຫດຜົນຂອງຄວາມກະຈ່າງແຈ້ງ, ພາກສ່ວນສະເພາະຂອງກະດານແມ່ນທຸງທີ່ມີສະເພາະ tags:
      STM32WL3x-Software-Package (1)

ດັ່ງນັ້ນ, ຂັ້ນຕອນການສົ່ງສັນຍານຕົ້ນຕໍແມ່ນດັ່ງຕໍ່ໄປນີ້:

  • ແທນທີ່ 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.

ດ້ວຍການດັດແປງເຫຼົ່ານີ້, example ແລ່ນຢູ່ໃນກະດານເປົ້າຫມາຍ.

ຄໍາຮ້ອງສະຫມັກ RF, ການສາທິດ, ແລະ examples
ປະເພດຕ່າງໆຂອງຄໍາຮ້ອງສະຫມັກ RF, ການສາທິດ, ແລະ examples ແມ່ນມີຢູ່ໃນຊຸດ STM32CubeWL3. ພວກເຂົາເຈົ້າໄດ້ຖືກລະບຸໄວ້ໃນສອງພາກຂ້າງລຸ່ມນີ້.

Sub-GHz examples ແລະການສາທິດ
ເຫຼົ່ານີ້ examples ສະ​ແດງ​ໃຫ້​ເຫັນ​ຄຸນ​ສົມ​ບັດ​ຕົ້ນ​ຕໍ​ຂອງ​ອຸ​ປະ​ກອນ​ວິ​ທະ​ຍຸ MRSUBG ແລະ LPAWUR​. ເຫຼົ່ານີ້ examples ແມ່ນ​ມີ​ຢູ່​ພາຍ​ໃຕ້​ການ​:

  • ໂຄງການ\NUCLEO-WL33CC\Examples\MRSUBG
  • ໂຄງການ\NUCLEO-WL33CC\Examples\LPAWUR
  • ໂຄງການ\NUCLEO-WL33CC\Demonstrations\MRSUBG
  • ໂຄງການ\NUCLEO-WL33CC\Demonstrations\LPAWUR

ແຕ່ລະຄົນ example ຫຼືສາທິດໂດຍທົ່ວໄປປະກອບດ້ວຍສອງໂຄງການທີ່ເອີ້ນວ່າ Tx ແລະ Rx ເຮັດຫນ້າທີ່ເປັນເຄື່ອງສົ່ງແລະເຄື່ອງຮັບ, ຕາມລໍາດັບ:

  • Examples/MRSUBG
    • MRSUBG_802_15_4: ການປະຕິບັດຂອງຊັ້ນທາງດ້ານຮ່າງກາຍທີ່ກໍານົດໂດຍມາດຕະຖານ 802.15.4. ມັນ​ສະ​ແດງ​ໃຫ້​ເຫັນ​ວິ​ທີ​ການ​ຕັ້ງ​ຄ່າ​ວິ​ທະ​ຍຸ​ເພື່ອ​ສົ່ງ​ຫຼື​ໄດ້​ຮັບ 802.15.4 packets​.
    • 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: ນີ້ example ສະແດງໃຫ້ເຫັນວິທີການຕັ້ງ SoC ໃນໂຫມດຢຸດເລິກແລະກໍາຫນົດຄ່າ MRSUBG ເພື່ອປຸກ SoC ໂດຍການກົດ PB2 ເພື່ອສົ່ງກອບຫຼືຫຼັງຈາກເວລາ RTC ຫມົດອາຍຸ.
    • MRSUBG_Sequencer_Sniff: ນີ້ example ສະ​ແດງ​ໃຫ້​ເຫັນ​ວິ​ທີ​ການ​ກໍາ​ນົດ​ລໍາ​ດັບ MRSUBG ການ​ດໍາ​ເນີນ​ງານ​ໃນ​ຮູບ​ແບບ sniff​. ນີ້ example ສະແດງໃຫ້ເຫັນດ້ານຜູ້ຮັບແລະຕ້ອງການອຸປະກອນອື່ນເປັນເຄື່ອງສົ່ງ.
    • MRSUBG_Timer: ແອັບພລິເຄຊັ່ນກຳນົດເວລາຫຼາຍໆຄັ້ງຂອງໂມງຈັບເວລາ MRSUBG (ດ້ວຍການໂຫຼດຄືນອັດຕະໂນມັດ) ດ້ວຍຊ່ວງເວລາທີ່ແຕກຕ່າງກັນ.
    • MRSUBG_WakeupRadio_Tx: ນີ້ example ອະທິບາຍວິທີການຕັ້ງ SoC ໃນໂໝດຢຸດເລິກ ແລະກຳນົດຄ່າ MRSUBG ເພື່ອປຸກ SoC ໂດຍການກົດ PB2 ເພື່ອສົ່ງກອບ. ນີ້ example ສະແດງໃຫ້ເຫັນດ້ານເຄື່ອງສົ່ງສັນຍານແລະຕ້ອງການອຸປະກອນອື່ນເປັນເຄື່ອງຮັບ LPAWUR. ຜູ້ຮັບ example ຕັ້ງຢູ່ພາຍໃຕ້ໂຟນເດີ NUCLEO-WL33CC\Demonstrations\LPAWUR\LPAWUR_WakeupRad io_Rx.
  • ການສາທິດ/LPAWUR
    • LPAWUR_WakeupRadio_Rx: ນີ້ example ອະທິບາຍວິທີການຕັ້ງ SoC ໃນໂຫມດການຢຸດຢ່າງເລິກເຊິ່ງແລະກໍາຫນົດຄ່າ LPAWUR ເພື່ອປຸກ SoC ເມື່ອກອບມາຮອດແລະຖືກຮັບຢ່າງຖືກຕ້ອງ. ນີ້ example ສະແດງໃຫ້ເຫັນດ້ານຜູ້ຮັບແລະຕ້ອງການອຸປະກອນອື່ນເປັນເຄື່ອງສົ່ງ. ເຄື່ອງສົ່ງສັນຍານ example ຕັ້ງຢູ່ພາຍໃຕ້ໂຟນເດີ NUCLEO-WL33CC\Demonstrations\MRSUBG\MRSUBG_WakeupRad io_Tx.

ຄໍາຮ້ອງສະຫມັກ Sigfox™
ແອັບພລິເຄຊັນເຫຼົ່ານີ້ສະແດງວິທີການປະຕິບັດສະຖານະການ Sigfox™ ແລະໃຊ້ Sigfox™ APIs ທີ່ມີຢູ່. ພວກມັນມີຢູ່ໃນເສັ້ນທາງໂຄງການ Projects\NUCLEO-WL33CC\Application\Sigfox\:

  • Sigfox_CLI​: ຄໍາ​ຮ້ອງ​ສະ​ຫມັກ​ນີ້​ສະ​ແດງ​ໃຫ້​ເຫັນ​ວິ​ທີ​ການ​ນໍາ​ໃຊ້​ການ​ໂຕ້​ຕອບ​ເສັ້ນ​ຄໍາ​ສັ່ງ (CLI​) ເພື່ອ​ສົ່ງ​ຄໍາ​ສັ່ງ​ທີ່​ນໍາ​ໃຊ້​ໂປ​ໂຕ​ຄອນ Sigfox ™​ເພື່ອ​ສົ່ງ​ຂໍ້​ຄວາມ​ແລະ​ການ​ທົດ​ສອບ precertification​.
  • Sigfox_PushButton​: ຄໍາ​ຮ້ອງ​ສະ​ຫມັກ​ນີ້​ອະ​ນຸ​ຍາດ​ໃຫ້​ການ​ປະ​ເມີນ​ຜົນ​ຂອງ​ຄວາມ​ສາ​ມາດ​ວິ​ທະ​ຍຸ STM32WL33xx Sigfox ™​. ການກົດ PB1 ສົ່ງກອບການທົດສອບ Sigfox™.

FAQ

  1. ເມື່ອໃດທີ່ຂ້ອຍຄວນໃຊ້ HAL ແທນໄດເວີ LL?
    ໄດເວີ HAL ສະເໜີ APIs ລະດັບສູງ ແລະ ເນັ້ນການທໍາງານ, ທີ່ມີລະດັບຄວາມສະດວກສະບາຍສູງ. ຄວາມຊັບຊ້ອນຂອງຜະລິດຕະພັນ ຫຼືອຸປະກອນຕໍ່ພອຍຖືກເຊື່ອງໄວ້ສຳລັບຜູ້ໃຊ້ສຸດທ້າຍ.
    ໄດເວີ LL ສະເຫນີ APIs ລະດັບການລົງທະບຽນຊັ້ນຕ່ໍາ, ດ້ວຍການເພີ່ມປະສິດທິພາບທີ່ດີກວ່າແຕ່ສາມາດເຄື່ອນທີ່ຫນ້ອຍ. ພວກເຂົາຕ້ອງການຄວາມຮູ້ໃນຄວາມເລິກຂອງຜະລິດຕະພັນຫຼືຂໍ້ມູນຈໍາເພາະ IP.
  2. ສາມາດໃຊ້ໄດເວີ HAL ແລະ LL ຮ່ວມກັນໄດ້ບໍ? ຖ້າແມ່ນ, ຂໍ້ຈໍາກັດແມ່ນຫຍັງ?
    ມັນເປັນໄປໄດ້ທີ່ຈະໃຊ້ທັງໄດເວີ HAL ແລະ LL. ໃຊ້ HAL ສໍາລັບໄລຍະເບື້ອງຕົ້ນຂອງອຸປະກອນຕໍ່ຂ້າງ ແລະຈາກນັ້ນຈັດການການດໍາເນີນການ I/O ກັບໄດເວີ LL.
    ຄວາມແຕກຕ່າງທີ່ ສຳ ຄັນລະຫວ່າງ HAL ແລະ LL ແມ່ນວ່າຜູ້ຂັບຂີ່ HAL ຕ້ອງການສ້າງແລະນໍາໃຊ້ຕົວຈັບສໍາລັບການຄຸ້ມຄອງການດໍາເນີນງານໃນຂະນະທີ່ຄົນຂັບ LL ດໍາເນີນການໂດຍກົງໃນທະບຽນອຸປະກອນຕໍ່. ການປະສົມ HAL ແລະ LL ແມ່ນສະແດງຢູ່ໃນ Examples_MIX examples.
  3. APIs ເບື້ອງຕົ້ນ LL ຖືກເປີດໃຊ້ແນວໃດ?
    ຄໍານິຍາມຂອງ APIs ການເລີ່ມຕົ້ນ LL ແລະຊັບພະຍາກອນທີ່ກ່ຽວຂ້ອງ (ໂຄງສ້າງ, ຕົວຫນັງສື, ແລະຕົວແບບ) ແມ່ນຖືກປັບໂດຍສະວິດການລວບລວມ USE_FULL_LL_DRIVER.
    ເພື່ອສາມາດນໍາໃຊ້ APIs ເບື້ອງຕົ້ນຂອງ LL, ເພີ່ມສະວິດນີ້ໃນຕົວປະມວນຜົນ preprocessor ຂອງ toolchain compiler.
  4. ມີໂຄງການແມ່ແບບສໍາລັບ MRSUBG/LPAWUR peripheral examples?
    ເພື່ອສ້າງ MRSUBG ຫຼື LPAWUR ໃໝ່ample ໂຄງ​ການ​, ບໍ່​ວ່າ​ຈະ​ເລີ່ມ​ຕົ້ນ​ຈາກ​ໂຄງ​ການ skeleton ສະ​ຫນອງ​ໃຫ້​ພາຍ​ໃຕ້ \Pr ojects\NUCLEO-WL33CC\Examples\MRSUBG ຫຼື \Projects\NUCLEO-WL33CC\Examples\LPAWUR, ຫຼືຈາກໂຄງການທີ່ມີຢູ່ພາຍໃຕ້ໄດເລກະທໍລີດຽວກັນນີ້.
  5. STM32CubeMX ສາມາດສ້າງລະຫັດໂດຍອີງໃສ່ຊອບແວທີ່ຝັງໄວ້ໄດ້ແນວໃດ?
    STM32CubeMX ມີຄວາມຮູ້ໃນຕົວຂອງ STM32 microcontrollers, ລວມທັງອຸປະກອນຕໍ່ພ່ວງແລະຊອບແວຂອງພວກເຂົາ, ເຊິ່ງອະນຸຍາດໃຫ້ມັນສະແດງຮູບພາບໃຫ້ກັບຜູ້ໃຊ້ແລະສ້າງ *.h ຫຼື *.c. files ອີງໃສ່ການຕັ້ງຄ່າຂອງຜູ້ໃຊ້.

ປະຫວັດການແກ້ໄຂ

ຕາຕະລາງ 3. ປະຫວັດການແກ້ໄຂເອກະສານ

ວັນທີ ການທົບທວນ ການປ່ຽນແປງ
29-ມີນາ-2024 1 ການປ່ອຍຕົວໃນເບື້ອງຕົ້ນ.
30-ຕຸລາ-2024 2 ການ​ເຊື່ອມ​ໂຍງ​ຢ່າງ​ເຕັມ​ທີ່​ຂອງ​ STM32CubeWL3 in STM32Cube. ອັບເດດ:

ລຶບອອກແລ້ວ:

  • ເຄື່ອງ​ມື PC, ລວມທັງ Navigator, STM32WL3 GUI, ແລະ MR-SUBG Sequencer GUI
  • WiSE-Studio IOMapper ສາມາດສ້າງລະຫັດໂດຍອີງໃສ່ຊອບແວທີ່ຝັງໄວ້ໄດ້ແນວໃດ?
  • Navigator ອະນຸຍາດໃຫ້ເຂົ້າເຖິງຊັບພະຍາກອນຊຸດຊອບແວບໍ?

ເອກະສານ / ຊັບພະຍາກອນ

ຊຸດຊອບແວ ST STM32WL3x [pdf] ຄໍາແນະນໍາ
ຊຸດຊອບແວ STM32WL3x, STM32WL3x, ຊຸດຊອບແວ, ຊຸດ

ເອກະສານອ້າງອີງ

ອອກຄໍາເຫັນ

ທີ່ຢູ່ອີເມວຂອງເຈົ້າຈະບໍ່ຖືກເຜີຍແຜ່. ຊ່ອງຂໍ້ມູນທີ່ຕ້ອງການຖືກໝາຍໄວ້ *