STM32WL3x-loigo

STM32WL3x ਸਾਫਟਵੇਅਰ ਪੈਕੇਜ

STM32WL3x-ਸਾਫਟਵੇਅਰ-ਪੈਕੇਜ-ਪ੍ਰੋਡਕਟ

ਨਿਰਧਾਰਨ

  • ਉਤਪਾਦ ਦਾ ਨਾਮ: STM32CubeWL3 ਸਾਫਟਵੇਅਰ ਪੈਕੇਜ
  • ਅਨੁਕੂਲਤਾ: STM32WL3x ਮਾਈਕ੍ਰੋਕੰਟਰੋਲਰ
  • ਮੁੱਖ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ:
    • ਲੋਅ-ਲੇਅਰ (LL) ਅਤੇ ਹਾਰਡਵੇਅਰ ਐਬਸਟਰੈਕਸ਼ਨ ਲੇਅਰ (HAL) APIs
    • SigfoxTM, FatFS, ਅਤੇ FreeRTOSTM ਕਰਨਲ ਮਿਡਲਵੇਅਰ ਹਿੱਸੇ
    • ਐਪਲੀਕੇਸ਼ਨ ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ

ਉਤਪਾਦ ਵਰਤੋਂ ਨਿਰਦੇਸ਼

ਸ਼ੁਰੂ ਕਰਨਾ
STM32CubeWL3 ਸੌਫਟਵੇਅਰ ਪੈਕੇਜ ਦੀ ਵਰਤੋਂ ਸ਼ੁਰੂ ਕਰਨ ਲਈ, ਇਹਨਾਂ ਕਦਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ:

  1. ਅਧਿਕਾਰੀ ਤੋਂ ਸਾਫਟਵੇਅਰ ਪੈਕੇਜ ਡਾਊਨਲੋਡ ਕਰੋ webਸਾਈਟ.
  2. ਲੋੜੀਂਦੇ ਵਿਕਾਸ ਵਾਤਾਵਰਣ ਨੂੰ ਸਥਾਪਿਤ ਕਰੋ (ਉਦਾਹਰਨ ਲਈ, STM32CubeIDE, EWARM, MDK-ARM)।
  3. ਸਾਬਕਾ ਨੂੰ ਵੇਖੋampਲੇਸ ਅਤੇ ਮਾਰਗਦਰਸ਼ਨ ਲਈ ਪ੍ਰਦਾਨ ਕੀਤੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ।

STM32CubeWL3 ਆਰਕੀਟੈਕਚਰ ਓਵਰview
STM32CubeWL3 ਸਾਫਟਵੇਅਰ ਪੈਕੇਜ ਤਿੰਨ ਮੁੱਖ ਪੱਧਰਾਂ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਬਣਾਇਆ ਗਿਆ ਹੈ

  • ਪੱਧਰ 0: ਹਾਰਡਵੇਅਰ ਐਬਸਟਰੈਕਸ਼ਨ ਲੇਅਰ (HAL) ਅਤੇ BSP ਡਰਾਈਵਰ।
  • ਪੱਧਰ 1: ਐਪਲੀਕੇਸ਼ਨ, ਲਾਇਬ੍ਰੇਰੀਆਂ, ਅਤੇ ਪ੍ਰੋਟੋਕੋਲ-ਅਧਾਰਿਤ ਭਾਗ।

ਅਕਸਰ ਪੁੱਛੇ ਜਾਂਦੇ ਸਵਾਲ (FAQ)

ਸਵਾਲ: STM32CubeWL3 ਸਾਫਟਵੇਅਰ ਪੈਕੇਜ ਦੀਆਂ ਮੁੱਖ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਕੀ ਹਨ?
A: ਮੁੱਖ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿੱਚ ਲੋ-ਲੇਅਰ ਅਤੇ HAL API, SigfoxTM, FatFS, FreeRTOSTM ਕਰਨਲ, ਐਪਲੀਕੇਸ਼ਨ, ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ ਵਰਗੇ ਮਿਡਲਵੇਅਰ ਭਾਗ ਸ਼ਾਮਲ ਹਨ।

ਜਾਣ-ਪਛਾਣ

STM32Cube ਇੱਕ STMicroelectronics ਮੂਲ ਪਹਿਲਕਦਮੀ ਹੈ ਜੋ ਵਿਕਾਸ ਦੇ ਯਤਨਾਂ, ਸਮੇਂ ਅਤੇ ਲਾਗਤ ਨੂੰ ਘਟਾ ਕੇ ਡਿਜ਼ਾਈਨਰ ਉਤਪਾਦਕਤਾ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਸੁਧਾਰ ਕਰਦੀ ਹੈ। STM32Cube ਪੂਰੇ STM32 ਪੋਰਟਫੋਲੀਓ ਨੂੰ ਕਵਰ ਕਰਦਾ ਹੈ।

STM32Cube ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:

  • ਸੰਕਲਪ ਤੋਂ ਪ੍ਰਾਪਤੀ ਤੱਕ ਪ੍ਰੋਜੈਕਟ ਵਿਕਾਸ ਨੂੰ ਕਵਰ ਕਰਨ ਲਈ ਉਪਭੋਗਤਾ-ਅਨੁਕੂਲ ਸਾਫਟਵੇਅਰ ਵਿਕਾਸ ਸਾਧਨਾਂ ਦਾ ਇੱਕ ਸਮੂਹ, ਇਹਨਾਂ ਵਿੱਚੋਂ] ਜੋ ਹਨ:
    • STM32CubeMX, ਇੱਕ ਗ੍ਰਾਫਿਕਲ ਸਾਫਟਵੇਅਰ ਕੌਂਫਿਗਰੇਸ਼ਨ ਟੂਲ ਜੋ ਗ੍ਰਾਫਿਕਲ ਵਿਜ਼ਾਰਡਸ ਦੀ ਵਰਤੋਂ ਕਰਕੇ C ਸ਼ੁਰੂਆਤੀ ਕੋਡ ਦੇ ਆਟੋਮੈਟਿਕ ਬਣਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ
    • STM32CubeIDE, ਪੈਰੀਫਿਰਲ ਕੌਂਫਿਗਰੇਸ਼ਨ, ਕੋਡ ਜਨਰੇਸ਼ਨ, ਕੋਡ ਕੰਪਾਇਲੇਸ਼ਨ, ਅਤੇ ਡੀਬੱਗ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਾਲਾ ਇੱਕ ਆਲ-ਇਨ-ਵਨ ਡਿਵੈਲਪਮੈਂਟ ਟੂਲ
    • STM32CubeCLT, ਕੋਡ ਸੰਕਲਨ, ਬੋਰਡ ਪ੍ਰੋਗਰਾਮਿੰਗ, ਅਤੇ ਡੀਬੱਗ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਾਲਾ ਇੱਕ ਆਲ-ਇਨ-ਵਨ ਕਮਾਂਡ-ਲਾਈਨ ਵਿਕਾਸ ਟੂਲਸੈੱਟ
    • STM32CubeProgrammer (STM32CubeProg), ਗ੍ਰਾਫਿਕਲ ਅਤੇ ਕਮਾਂਡ-ਲਾਈਨ ਸੰਸਕਰਣਾਂ ਵਿੱਚ ਉਪਲਬਧ ਇੱਕ ਪ੍ਰੋਗਰਾਮਿੰਗ ਟੂਲ
    • STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), ਅਸਲ ਸਮੇਂ ਵਿੱਚ STM32 ਐਪਲੀਕੇਸ਼ਨਾਂ ਦੇ ਵਿਵਹਾਰ ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਵਧੀਆ ਬਣਾਉਣ ਲਈ ਸ਼ਕਤੀਸ਼ਾਲੀ ਨਿਗਰਾਨੀ ਸਾਧਨ
  • STM32Cube MCU ਅਤੇ MPU ਪੈਕੇਜ, ਹਰੇਕ ਮਾਈਕ੍ਰੋਕੰਟਰੋਲਰ ਅਤੇ ਮਾਈਕ੍ਰੋਪ੍ਰੋਸੈਸਰ ਲੜੀ ਲਈ ਖਾਸ ਵਿਆਪਕ ਏਮਬੇਡਡ-ਸਾਫਟਵੇਅਰ ਪਲੇਟਫਾਰਮ (ਜਿਵੇਂ ਕਿ STM32WL3x ਉਤਪਾਦ ਲਾਈਨ ਲਈ STM32CubeWL3), ਜਿਸ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:
    • STM32Cube ਹਾਰਡਵੇਅਰ ਐਬਸਟਰੈਕਸ਼ਨ ਲੇਅਰ (HAL), STM32 ਪੋਰਟਫੋਲੀਓ ਵਿੱਚ ਵੱਧ ਤੋਂ ਵੱਧ ਪੋਰਟੇਬਿਲਟੀ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ
    • STM32Cube ਲੋ-ਲੇਅਰ APIs, ਹਾਰਡਵੇਅਰ ਉੱਤੇ ਉੱਚ ਪੱਧਰੀ ਉਪਭੋਗਤਾ ਨਿਯੰਤਰਣ ਦੇ ਨਾਲ ਵਧੀਆ ਪ੍ਰਦਰਸ਼ਨ ਅਤੇ ਪੈਰਾਂ ਦੇ ਨਿਸ਼ਾਨ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ
    • ਮਿਡਲਵੇਅਰ ਕੰਪੋਨੈਂਟਸ ਦਾ ਇਕਸਾਰ ਸੈੱਟ ਜਿਵੇਂ ਕਿ FreeRTOS™ ਕਰਨਲ, FatFS, ਅਤੇ Sigfox™
    • ਪੈਰੀਫਿਰਲ ਅਤੇ ਉਪਯੋਗੀ ਸਾਬਕਾ ਦੇ ਪੂਰੇ ਸੈੱਟਾਂ ਦੇ ਨਾਲ ਸਾਰੀਆਂ ਏਮਬੈਡਡ ਸੌਫਟਵੇਅਰ ਉਪਯੋਗਤਾਵਾਂamples
  • STM32Cube ਐਕਸਪੈਂਸ਼ਨ ਪੈਕੇਜ, ਜਿਸ ਵਿੱਚ ਏਮਬੈਡਡ ਸਾਫਟਵੇਅਰ ਭਾਗ ਹੁੰਦੇ ਹਨ ਜੋ STM32Cube MCU ਅਤੇ MPU ਪੈਕੇਜਾਂ ਦੀ ਕਾਰਜਕੁਸ਼ਲਤਾ ਨੂੰ ਪੂਰਕ ਕਰਦੇ ਹਨ:
    • ਮਿਡਲਵੇਅਰ ਐਕਸਟੈਂਸ਼ਨ ਅਤੇ ਉਪਯੋਗੀ ਪਰਤਾਂ
    • Exampਕੁਝ ਖਾਸ STMicroelectronics ਵਿਕਾਸ ਬੋਰਡਾਂ 'ਤੇ ਚੱਲ ਰਿਹਾ ਹੈ

ਇਹ ਉਪਭੋਗਤਾ ਮੈਨੂਅਲ ਦੱਸਦਾ ਹੈ ਕਿ STM32CubeWL3 MCU ਪੈਕੇਜ ਨਾਲ ਕਿਵੇਂ ਸ਼ੁਰੂਆਤ ਕਰਨੀ ਹੈ।
ਸੈਕਸ਼ਨ 2 STM32CubeWL3 ਦੀਆਂ ਮੁੱਖ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦਾ ਵਰਣਨ ਕਰਦਾ ਹੈ ਅਤੇ ਸੈਕਸ਼ਨ 3 ਇੱਕ ਓਵਰ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈview ਇਸ ਦੇ ਆਰਕੀਟੈਕਚਰ ਅਤੇ MCU ਪੈਕੇਜ ਢਾਂਚੇ ਦਾ।

ਆਮ ਜਾਣਕਾਰੀ

STM32CubeWL3 ਉਪ-GHz ਪ੍ਰਦਰਸ਼ਨ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਚਲਾਉਂਦਾ ਹੈ, Sigfox™ ਬਾਈਨਰੀਆਂ ਸਮੇਤ, Arm® Cortex®‑M32+ ਪ੍ਰੋਸੈਸਰ 'ਤੇ ਆਧਾਰਿਤ STM3WL0x ਉਤਪਾਦ ਲਾਈਨ ਮਾਈਕ੍ਰੋਕੰਟਰੋਲਰ 'ਤੇ।
STM32WL3x ਮਾਈਕਰੋਕੰਟਰੋਲਰ STMicroelectronics ਦੇ ਅਤਿ-ਆਧੁਨਿਕ ਸਬ-GHz ਅਨੁਕੂਲ RF ਰੇਡੀਓ ਪੈਰੀਫਿਰਲ ਨੂੰ ਏਮਬੇਡ ਕਰਦੇ ਹਨ, ਬੇਮਿਸਾਲ ਬੈਟਰੀ ਜੀਵਨ ਕਾਲ ਲਈ ਅਤਿ-ਘੱਟ-ਪਾਵਰ ਦੀ ਖਪਤ ਅਤੇ ਸ਼ਾਨਦਾਰ ਰੇਡੀਓ ਪ੍ਰਦਰਸ਼ਨ ਲਈ ਅਨੁਕੂਲਿਤ।
ਨੋਟ ਕਰੋ: ਆਰਮ ਅਮਰੀਕਾ ਅਤੇ/ਜਾਂ ਹੋਰ ਕਿਤੇ ਆਰਮ ਲਿਮਿਟੇਡ (ਜਾਂ ਇਸਦੀਆਂ ਸਹਾਇਕ ਕੰਪਨੀਆਂ) ਦਾ ਰਜਿਸਟਰਡ ਟ੍ਰੇਡਮਾਰਕ ਹੈ।

STM32CubeWL3 ਮੁੱਖ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ

  • STM32CubeWL3 MCU ਪੈਕੇਜ Arm® Cortex®‑M32+ ਪ੍ਰੋਸੈਸਰ 'ਤੇ ਆਧਾਰਿਤ STM32 0-ਬਿੱਟ ਮਾਈਕ੍ਰੋਕੰਟਰੋਲਰ 'ਤੇ ਚੱਲਦਾ ਹੈ। ਇਹ, ਇੱਕ ਸਿੰਗਲ ਪੈਕੇਜ ਵਿੱਚ, STM32WL3x ਉਤਪਾਦ ਲਾਈਨ ਮਾਈਕ੍ਰੋਕੰਟਰੋਲਰਸ ਲਈ ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ ਵਿਕਸਿਤ ਕਰਨ ਲਈ ਲੋੜੀਂਦੇ ਸਾਰੇ ਆਮ ਏਮਬੈਡਡ ਸੌਫਟਵੇਅਰ ਭਾਗਾਂ ਨੂੰ ਇਕੱਠਾ ਕਰਦਾ ਹੈ।
  • ਪੈਕੇਜ ਵਿੱਚ ਲੋਅ-ਲੇਅਰ (LL) ਅਤੇ ਹਾਰਡਵੇਅਰ ਐਬਸਟਰੈਕਸ਼ਨ ਲੇਅਰ (HAL) API ਸ਼ਾਮਲ ਹਨ ਜੋ ਕਿ ਮਾਈਕ੍ਰੋਕੰਟਰੋਲਰ ਹਾਰਡਵੇਅਰ ਨੂੰ ਕਵਰ ਕਰਦੇ ਹਨ, ਨਾਲ ਹੀ ਸਾਬਕਾ ਦੇ ਇੱਕ ਵਿਆਪਕ ਸੈੱਟ ਦੇ ਨਾਲamples STMicroelectronics ਬੋਰਡਾਂ 'ਤੇ ਚੱਲ ਰਿਹਾ ਹੈ। HAL ਅਤੇ LL APIs ਉਪਭੋਗਤਾ ਦੀ ਸਹੂਲਤ ਲਈ ਇੱਕ ਓਪਨ-ਸੋਰਸ BSD ਲਾਇਸੰਸ ਵਿੱਚ ਉਪਲਬਧ ਹਨ। ਇਸ ਵਿੱਚ Sigfox™, FatFS, ਅਤੇ FreeRTOS™ ਕਰਨਲ ਮਿਡਲਵੇਅਰ ਹਿੱਸੇ ਵੀ ਸ਼ਾਮਲ ਹਨ।
  • STM32CubeWL3 MCU ਪੈਕੇਜ ਇਸਦੇ ਸਾਰੇ ਮਿਡਲਵੇਅਰ ਭਾਗਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਕਈ ਐਪਲੀਕੇਸ਼ਨ ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ ਵੀ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
  • STM32CubeWL3 MCU ਪੈਕੇਜ ਕੰਪੋਨੈਂਟ ਲੇਆਉਟ ਨੂੰ ਚਿੱਤਰ 1 ਵਿੱਚ ਦਰਸਾਇਆ ਗਿਆ ਹੈ।

ਚਿੱਤਰ 1. STM32CubeWL3 MCU ਪੈਕੇਜ ਭਾਗ 

STM32WL3x-ਸਾਫਟਵੇਅਰ-ਪੈਕੇਜ (2)

STM32CubeWL3 ਆਰਕੀਟੈਕਚਰ ਖਤਮview

STM32CubeWL3 MCU ਪੈਕੇਜ ਹੱਲ ਤਿੰਨ ਸੁਤੰਤਰ ਪੱਧਰਾਂ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਬਣਾਇਆ ਗਿਆ ਹੈ ਜੋ ਚਿੱਤਰ 2 ਵਿੱਚ ਦੱਸੇ ਅਨੁਸਾਰ ਆਸਾਨੀ ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਦੇ ਹਨ। STM32WL3x-ਸਾਫਟਵੇਅਰ-ਪੈਕੇਜ (3)ਪੱਧਰ 0
ਇਸ ਪੱਧਰ ਨੂੰ ਤਿੰਨ ਉਪ-ਲੇਅਰਾਂ ਵਿੱਚ ਵੰਡਿਆ ਗਿਆ ਹੈ:

  • ਬੋਰਡ ਸਹਾਇਤਾ ਪੈਕੇਜ (BSP)।
  • ਹਾਰਡਵੇਅਰ ਐਬਸਟਰੈਕਸ਼ਨ ਲੇਅਰ (HAL):
    • HAL ਪੈਰੀਫਿਰਲ ਡਰਾਈਵਰ
    • ਘੱਟ-ਲੇਅਰ ਡਰਾਈਵਰ
  • ਮੁੱਢਲੀ ਪੈਰੀਫਿਰਲ ਵਰਤੋਂ ਸਾਬਕਾamples.

ਬੋਰਡ ਸਹਾਇਤਾ ਪੈਕੇਜ (BSP)
ਇਹ ਪਰਤ ਹਾਰਡਵੇਅਰ ਬੋਰਡਾਂ (ਜਿਵੇਂ ਕਿ LEDs, ਬਟਨਾਂ, ਅਤੇ COM ਡਰਾਈਵਰਾਂ) ਵਿੱਚ ਹਾਰਡਵੇਅਰ ਭਾਗਾਂ ਦੇ ਸਬੰਧ ਵਿੱਚ API ਦਾ ਇੱਕ ਸੈੱਟ ਪੇਸ਼ ਕਰਦੀ ਹੈ। ਇਹ ਦੋ ਭਾਗਾਂ ਤੋਂ ਬਣਿਆ ਹੈ:

  • ਕੰਪੋਨੈਂਟ:
    ਇਹ ਬੋਰਡ 'ਤੇ ਬਾਹਰੀ ਡਿਵਾਈਸ ਨਾਲ ਸੰਬੰਧਿਤ ਡਰਾਈਵਰ ਹੈ ਨਾ ਕਿ STM32 ਨਾਲ। ਕੰਪੋਨੈਂਟ ਡਰਾਈਵਰ BSP ਡਰਾਈਵਰ ਬਾਹਰੀ ਭਾਗਾਂ ਨੂੰ ਖਾਸ API ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਅਤੇ ਕਿਸੇ ਹੋਰ ਬੋਰਡ 'ਤੇ ਪੋਰਟੇਬਲ ਹੋ ਸਕਦਾ ਹੈ।
  • ਬਸਪਾ ਡਰਾਈਵਰ:

ਇਹ ਕੰਪੋਨੈਂਟ ਡਰਾਈਵਰਾਂ ਨੂੰ ਇੱਕ ਖਾਸ ਬੋਰਡ ਨਾਲ ਲਿੰਕ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ ਅਤੇ ਉਪਭੋਗਤਾ-ਅਨੁਕੂਲ APIs ਦਾ ਇੱਕ ਸੈੱਟ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। API ਨਾਮਕਰਨ ਨਿਯਮ BSP_FUNCT_Action() ਹੈ।
Example: BSP_LED_Init(), BSP_LED_On()
BSP ਇੱਕ ਮਾਡਿਊਲਰ ਆਰਕੀਟੈਕਚਰ 'ਤੇ ਅਧਾਰਤ ਹੈ ਜੋ ਸਿਰਫ਼ ਹੇਠਲੇ-ਪੱਧਰ ਦੀਆਂ ਰੁਟੀਨਾਂ ਨੂੰ ਲਾਗੂ ਕਰਕੇ ਕਿਸੇ ਵੀ ਹਾਰਡਵੇਅਰ 'ਤੇ ਆਸਾਨ ਪੋਰਟਿੰਗ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।

ਹਾਰਡਵੇਅਰ ਐਬਸਟਰੈਕਸ਼ਨ ਲੇਅਰ (HAL) ਅਤੇ ਲੋਅ-ਲੇਅਰ (LL)
STM32CubeWL3 HAL ਅਤੇ LL ਪੂਰਕ ਹਨ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਲੋੜਾਂ ਦੀ ਇੱਕ ਵਿਸ਼ਾਲ ਸ਼੍ਰੇਣੀ ਨੂੰ ਕਵਰ ਕਰਦੇ ਹਨ:

  • HAL ਡਰਾਈਵਰ ਉੱਚ-ਪੱਧਰੀ ਫੰਕਸ਼ਨ-ਅਧਾਰਿਤ ਉੱਚ ਪੋਰਟੇਬਲ API ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦੇ ਹਨ। ਉਹ ਅੰਤ-ਉਪਭੋਗਤਾ ਲਈ MCU ਅਤੇ ਪੈਰੀਫਿਰਲ ਜਟਿਲਤਾ ਨੂੰ ਲੁਕਾਉਂਦੇ ਹਨ।
    ਐਚਏਐਲ ਡਰਾਈਵਰ ਆਮ ਮਲਟੀ-ਇਨਸਟੈਂਸ ਫੀਚਰ-ਅਧਾਰਿਤ API ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ, ਜੋ ਵਰਤੋਂ ਲਈ ਤਿਆਰ ਪ੍ਰਕਿਰਿਆਵਾਂ ਪ੍ਰਦਾਨ ਕਰਕੇ ਉਪਭੋਗਤਾ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਲਾਗੂ ਕਰਨ ਨੂੰ ਸਰਲ ਬਣਾਉਂਦੇ ਹਨ। ਸਾਬਕਾ ਲਈample, ਸੰਚਾਰ ਪੈਰੀਫਿਰਲਾਂ (I2C, UART, ਅਤੇ ਹੋਰਾਂ) ਲਈ, ਇਹ ਪੈਰੀਫਿਰਲ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਅਤੇ ਸੰਰਚਿਤ ਕਰਨ, ਪੋਲਿੰਗ, ਰੁਕਾਵਟ, ਜਾਂ DMA ਪ੍ਰਕਿਰਿਆ ਦੇ ਅਧਾਰ 'ਤੇ ਡੇਟਾ ਟ੍ਰਾਂਸਫਰ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ, ਅਤੇ ਸੰਚਾਰ ਦੌਰਾਨ ਪੈਦਾ ਹੋਣ ਵਾਲੀਆਂ ਸੰਚਾਰ ਗਲਤੀਆਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ API ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। HAL ਡਰਾਈਵਰ API ਨੂੰ ਦੋ ਸ਼੍ਰੇਣੀਆਂ ਵਿੱਚ ਵੰਡਿਆ ਗਿਆ ਹੈ:
  1. ਜੈਨਰਿਕ API, ਜੋ ਸਾਰੇ STM32 ਸੀਰੀਜ਼ ਮਾਈਕ੍ਰੋਕੰਟਰੋਲਰ ਨੂੰ ਆਮ ਅਤੇ ਆਮ ਫੰਕਸ਼ਨ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ।
  2. ਐਕਸਟੈਂਸ਼ਨ API, ਜੋ ਕਿਸੇ ਖਾਸ ਪਰਿਵਾਰ ਜਾਂ ਕਿਸੇ ਖਾਸ ਭਾਗ ਨੰਬਰ ਲਈ ਖਾਸ ਅਤੇ ਅਨੁਕੂਲਿਤ ਫੰਕਸ਼ਨ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ।
  • ਘੱਟ-ਪਰਤ APIs ਰਜਿਸਟਰ ਪੱਧਰ 'ਤੇ ਘੱਟ-ਪੱਧਰੀ API ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ, ਬਿਹਤਰ ਅਨੁਕੂਲਤਾ ਪਰ ਘੱਟ ਪੋਰਟੇਬਿਲਟੀ ਦੇ ਨਾਲ। ਉਹਨਾਂ ਨੂੰ MCU ਅਤੇ ਪੈਰੀਫਿਰਲ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੇ ਡੂੰਘੇ ਗਿਆਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
    LL ਡਰਾਈਵਰਾਂ ਨੂੰ ਇੱਕ ਤੇਜ਼ ਹਲਕੇ ਭਾਰ ਵਾਲੇ ਮਾਹਰ-ਅਧਾਰਿਤ ਪਰਤ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਨ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ ਜੋ HAL ਨਾਲੋਂ ਹਾਰਡਵੇਅਰ ਦੇ ਨੇੜੇ ਹੈ। HAL ਦੇ ਉਲਟ, LL API ਉਹਨਾਂ ਪੈਰੀਫਿਰਲਾਂ ਲਈ ਪ੍ਰਦਾਨ ਨਹੀਂ ਕੀਤੇ ਜਾਂਦੇ ਹਨ ਜਿੱਥੇ ਅਨੁਕੂਲਿਤ ਪਹੁੰਚ ਇੱਕ ਮੁੱਖ ਵਿਸ਼ੇਸ਼ਤਾ ਨਹੀਂ ਹੈ, ਜਾਂ ਉਹਨਾਂ ਲਈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਭਾਰੀ ਸੌਫਟਵੇਅਰ ਸੰਰਚਨਾ ਜਾਂ ਗੁੰਝਲਦਾਰ ਉੱਚ-ਪੱਧਰੀ ਸਟੈਕ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।

LL ਡਰਾਈਵਰਾਂ ਦੀ ਵਿਸ਼ੇਸ਼ਤਾ:

  • ਡਾਟਾ ਬਣਤਰ ਵਿੱਚ ਨਿਰਦਿਸ਼ਟ ਪੈਰਾਮੀਟਰਾਂ ਦੇ ਅਨੁਸਾਰ ਪੈਰੀਫਿਰਲ ਮੁੱਖ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਫੰਕਸ਼ਨਾਂ ਦਾ ਇੱਕ ਸਮੂਹ।
  • ਹਰੇਕ ਖੇਤਰ ਦੇ ਅਨੁਸਾਰੀ ਰੀਸੈਟ ਮੁੱਲਾਂ ਨਾਲ ਸ਼ੁਰੂਆਤੀ ਡੇਟਾ ਢਾਂਚੇ ਨੂੰ ਭਰਨ ਲਈ ਫੰਕਸ਼ਨਾਂ ਦਾ ਇੱਕ ਸੈੱਟ।
  • ਪੈਰੀਫਿਰਲ ਡੀ-ਸ਼ੁਰੂਆਤੀ ਲਈ ਫੰਕਸ਼ਨ (ਪੈਰੀਫਿਰਲ ਰਜਿਸਟਰਾਂ ਨੂੰ ਉਹਨਾਂ ਦੇ ਡਿਫੌਲਟ ਮੁੱਲਾਂ 'ਤੇ ਬਹਾਲ ਕੀਤਾ ਗਿਆ)।
  • ਸਿੱਧੀ ਅਤੇ ਪਰਮਾਣੂ ਰਜਿਸਟਰ ਐਕਸੈਸ ਲਈ ਇਨਲਾਈਨ ਫੰਕਸ਼ਨਾਂ ਦਾ ਇੱਕ ਸੈੱਟ।
  • HAL ਤੋਂ ਪੂਰੀ ਸੁਤੰਤਰਤਾ ਅਤੇ ਸਟੈਂਡਅਲੋਨ ਮੋਡ (HAL ਡਰਾਈਵਰਾਂ ਤੋਂ ਬਿਨਾਂ) ਵਿੱਚ ਵਰਤੇ ਜਾਣ ਦੀ ਸਮਰੱਥਾ।
  • ਸਮਰਥਿਤ ਪੈਰੀਫਿਰਲ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਪੂਰੀ ਕਵਰੇਜ।

ਮੁੱਢਲੀ ਪੈਰੀਫਿਰਲ ਵਰਤੋਂ ਸਾਬਕਾamples
ਇਹ ਪਰਤ ਸਾਬਕਾ ਨੂੰ ਘੇਰਦੀ ਹੈamples ਸਿਰਫ਼ HAL ਅਤੇ BSP ਸਰੋਤਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ STM32 ਪੈਰੀਫਿਰਲਾਂ 'ਤੇ ਬਣਾਇਆ ਗਿਆ ਹੈ।
ਪ੍ਰਦਰਸ਼ਨ ਸਾਬਕਾamples ਹੋਰ ਗੁੰਝਲਦਾਰ ਸਾਬਕਾ ਦਿਖਾਉਣ ਲਈ ਵੀ ਉਪਲਬਧ ਹਨampਖਾਸ ਪੈਰੀਫਿਰਲਾਂ, ਜਿਵੇਂ ਕਿ MRSUBG ਅਤੇ LPAWUR ਵਾਲੇ ਦ੍ਰਿਸ਼।

ਪੱਧਰ 1
ਇਸ ਪੱਧਰ ਨੂੰ ਦੋ ਉਪ-ਲੇਅਰਾਂ ਵਿੱਚ ਵੰਡਿਆ ਗਿਆ ਹੈ:

  • ਮਿਡਲਵੇਅਰ ਦੇ ਹਿੱਸੇ
  • Examples ਮਿਡਲਵੇਅਰ ਭਾਗਾਂ 'ਤੇ ਅਧਾਰਤ

ਮਿਡਲਵੇਅਰ ਦੇ ਹਿੱਸੇ
ਮਿਡਲਵੇਅਰ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦਾ ਇੱਕ ਸਮੂਹ ਹੈ ਜੋ FreeRTOS™ ਕਰਨਲ, FatFS, ਅਤੇ Sigfox™ ਪ੍ਰੋਟੋਕੋਲ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਕਵਰ ਕਰਦਾ ਹੈ। ਇਸ ਲੇਅਰ ਦੇ ਕੰਪੋਨੈਂਟਸ ਵਿਚਕਾਰ ਹਰੀਜ਼ੱਟਲ ਇੰਟਰੈਕਸ਼ਨ ਫੀਚਰਡ API ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਲੋਅ-ਲੇਅਰ ਡਰਾਈਵਰਾਂ ਨਾਲ ਵਰਟੀਕਲ ਇੰਟਰੈਕਸ਼ਨ ਖਾਸ ਕਾਲਬੈਕਸ ਅਤੇ ਲਾਇਬ੍ਰੇਰੀ ਸਿਸਟਮ ਕਾਲ ਇੰਟਰਫੇਸ ਵਿੱਚ ਲਾਗੂ ਸਥਿਰ ਮੈਕਰੋ ਦੁਆਰਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਹਰੇਕ ਮਿਡਲਵੇਅਰ ਕੰਪੋਨੈਂਟ ਦੀਆਂ ਮੁੱਖ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਇਸ ਪ੍ਰਕਾਰ ਹਨ:

  • FreeRTOS™ ਕਰਨਲ: ਇੱਕ ਰੀਅਲ-ਟਾਈਮ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ (RTOS) ਨੂੰ ਲਾਗੂ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ ਏਮਬੈਡਡ ਸਿਸਟਮਾਂ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ।
  • Sigfox™: Sigfox™ ਪ੍ਰੋਟੋਕੋਲ ਨੈਟਵਰਕ ਦੇ ਅਨੁਕੂਲ Sigfox™ ਪ੍ਰੋਟੋਕੋਲ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਲਾਗੂ ਕਰਦਾ ਹੈ ਅਤੇ RF Sigfox™ ਟੂਲਸ ਦੇ ਵਿਰੁੱਧ ਟੈਸਟ ਕਰਨ ਲਈ RF ਟੈਸਟ ਪ੍ਰੋਟੋਕੋਲ ਲਾਇਬ੍ਰੇਰੀ ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ।
  • FatFS: ਆਮ FAT ਨੂੰ ਲਾਗੂ ਕਰਦਾ ਹੈ file ਸਿਸਟਮ ਮੋਡੀਊਲ.

Examples ਮਿਡਲਵੇਅਰ ਭਾਗਾਂ 'ਤੇ ਅਧਾਰਤ
ਹਰੇਕ ਮਿਡਲਵੇਅਰ ਕੰਪੋਨੈਂਟ ਇੱਕ ਜਾਂ ਇੱਕ ਤੋਂ ਵੱਧ ਸਾਬਕਾ ਦੇ ਨਾਲ ਆਉਂਦਾ ਹੈamples, ਜਿਸ ਨੂੰ ਐਪਲੀਕੇਸ਼ਨ ਵੀ ਕਿਹਾ ਜਾਂਦਾ ਹੈ, ਇਹ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਇਸਨੂੰ ਕਿਵੇਂ ਵਰਤਣਾ ਹੈ। ਏਕੀਕਰਣ ਸਾਬਕਾampਕਈ ਮਿਡਲਵੇਅਰ ਕੰਪੋਨੈਂਟਸ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਾਲੇ les ਵੀ ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ ਹਨ।

STM32CubeWL3 ਫਰਮਵੇਅਰ ਪੈਕੇਜ ਖਤਮ ਹੋ ਗਿਆ ਹੈview

ਸਮਰਥਿਤ STM32WL3x ਡਿਵਾਈਸਾਂ ਅਤੇ ਹਾਰਡਵੇਅਰ
STM32Cube ਇੱਕ ਬਹੁਤ ਹੀ ਪੋਰਟੇਬਲ ਹਾਰਡਵੇਅਰ ਐਬਸਟਰੈਕਸ਼ਨ ਲੇਅਰ (HAL) ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦਾ ਹੈ ਜੋ ਇੱਕ ਆਮ ਆਰਕੀਟੈਕਚਰ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਬਣਾਇਆ ਗਿਆ ਹੈ। ਇਹ ਬਿਲਡ-ਅਪ ਲੇਅਰਾਂ ਦੇ ਸਿਧਾਂਤ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਮਿਡਲਵੇਅਰ ਲੇਅਰ ਦੀ ਵਰਤੋਂ ਉਹਨਾਂ ਦੇ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਇਹ ਜਾਣੇ ਬਿਨਾਂ ਲਾਗੂ ਕਰਨ ਲਈ, ਡੂੰਘਾਈ ਨਾਲ, ਕੀ MCU ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਇਹ ਲਾਇਬ੍ਰੇਰੀ ਕੋਡ ਦੀ ਮੁੜ ਵਰਤੋਂਯੋਗਤਾ ਵਿੱਚ ਸੁਧਾਰ ਕਰਦਾ ਹੈ ਅਤੇ ਹੋਰ ਡਿਵਾਈਸਾਂ ਲਈ ਆਸਾਨ ਪੋਰਟੇਬਿਲਟੀ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ।

  • ਇਸ ਤੋਂ ਇਲਾਵਾ, ਇਸਦੇ ਲੇਅਰਡ ਆਰਕੀਟੈਕਚਰ ਦੇ ਨਾਲ, STM32CubeWL3 ਸਾਰੀਆਂ STM32WL3x ਉਤਪਾਦ ਲਾਈਨ ਲਈ ਪੂਰਾ ਸਮਰਥਨ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
  • ਉਪਭੋਗਤਾ ਨੂੰ ਸਿਰਫ਼ stm32wl3x.h ਵਿੱਚ ਸਹੀ ਮੈਕਰੋ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।

ਸਾਰਣੀ 1 ਵਰਤੀ ਗਈ STM32WL3x ਉਤਪਾਦ ਲਾਈਨ ਡਿਵਾਈਸ 'ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹੋਏ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਲਈ ਮੈਕਰੋ ਦਿਖਾਉਂਦਾ ਹੈ। ਇਸ ਮੈਕਰੋ ਨੂੰ ਕੰਪਾਈਲਰ ਪ੍ਰੀਪ੍ਰੋਸੈਸਰ ਵਿੱਚ ਵੀ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
ਸਾਰਣੀ 1. STM32WL3x ਉਤਪਾਦ ਲਾਈਨ ਲਈ ਮੈਕਰੋ

ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਮੈਕਰੋ stm32wl3x.h STM32WL3x ਉਤਪਾਦ ਲਾਈਨ ਉਪਕਰਣ
stm32wl33 STM32WL33xx ਮਾਈਕ੍ਰੋਕੰਟਰੋਲਰ

STM32CubeWL3 ਵਿੱਚ ਸਾਬਕਾ ਦਾ ਇੱਕ ਅਮੀਰ ਸੈੱਟ ਹੈampਸਾਰੇ ਪੱਧਰਾਂ 'ਤੇ les ਅਤੇ ਐਪਲੀਕੇਸ਼ਨਾਂ, ਕਿਸੇ ਵੀ HAL ਡਰਾਈਵਰ ਜਾਂ ਮਿਡਲਵੇਅਰ ਕੰਪੋਨੈਂਟਸ ਨੂੰ ਸਮਝਣਾ ਅਤੇ ਵਰਤਣਾ ਆਸਾਨ ਬਣਾਉਂਦਾ ਹੈ। ਇਹ ਸਾਬਕਾampਟੇਬਲ 2 ਵਿੱਚ ਸੂਚੀਬੱਧ STMicroelectronics ਬੋਰਡਾਂ 'ਤੇ ਚੱਲਦਾ ਹੈ।

ਬੋਰਡ STM32WL3x ਬੋਰਡ ਸਮਰਥਿਤ ਯੰਤਰ
NUCLEO-WL33CC1 STM32WL33CC
NUCLEO-WL33CC2 STM32WL33CC

STM32CubeWL3 MCU ਪੈਕੇਜ ਕਿਸੇ ਵੀ ਅਨੁਕੂਲ ਹਾਰਡਵੇਅਰ 'ਤੇ ਚੱਲ ਸਕਦਾ ਹੈ। ਉਪਭੋਗਤਾ ਸਿਰਫ਼ ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ ਸਾਬਕਾ ਨੂੰ ਪੋਰਟ ਕਰਨ ਲਈ BSP ਡਰਾਈਵਰਾਂ ਨੂੰ ਅਪਡੇਟ ਕਰਦੇ ਹਨampਉਹਨਾਂ ਦੇ ਬੋਰਡਾਂ 'ਤੇ les, ਜੇਕਰ ਇਹਨਾਂ ਵਿੱਚ ਉਹੀ ਹਾਰਡਵੇਅਰ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਹਨ (ਜਿਵੇਂ ਕਿ LEDs ਜਾਂ ਬਟਨ)।

ਫਰਮਵੇਅਰ ਪੈਕੇਜ ਖਤਮ ਹੋ ਗਿਆ ਹੈview
STM32CubeWL3 MCU ਪੈਕੇਜ ਹੱਲ ਇੱਕ ਸਿੰਗਲ ਜ਼ਿਪ ਪੈਕੇਜ ਵਿੱਚ ਦਿੱਤਾ ਗਿਆ ਹੈ ਜਿਸਦੀ ਬਣਤਰ ਚਿੱਤਰ 3 ਵਿੱਚ ਦਿਖਾਈ ਗਈ ਹੈ।
ਚਿੱਤਰ 3. STM32CubeWL3 ਫਰਮਵੇਅਰ ਪੈਕੇਜ ਬਣਤਰ

STM32WL3x-ਸਾਫਟਵੇਅਰ-ਪੈਕੇਜ (4)

ਸਾਵਧਾਨ:

ਉਪਭੋਗਤਾ ਨੂੰ ਭਾਗਾਂ ਨੂੰ ਸੋਧਣਾ ਨਹੀਂ ਚਾਹੀਦਾ fileਐੱਸ. ਉਪਭੋਗਤਾ ਕੇਵਲ \ਪ੍ਰੋਜੈਕਟ ਸਰੋਤਾਂ ਨੂੰ ਸੰਪਾਦਿਤ ਕਰ ਸਕਦਾ ਹੈ।
ਹਰੇਕ ਬੋਰਡ ਲਈ, ਸਾਬਕਾ ਦਾ ਇੱਕ ਸੈੱਟamples ਨੂੰ EWARM, MDK-ARM, ਅਤੇ STM32CubeIDE ਟੂਲਚੇਨ ਲਈ ਪ੍ਰੀ-ਕਨਫਿਗਰ ਕੀਤੇ ਪ੍ਰੋਜੈਕਟਾਂ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ।
ਚਿੱਤਰ 4 NUCLEO-WL33CCx ਬੋਰਡਾਂ ਲਈ ਪ੍ਰੋਜੈਕਟ ਬਣਤਰ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ। STM32WL3x-ਸਾਫਟਵੇਅਰ-ਪੈਕੇਜ (5)

ਸਾਬਕਾamples ਨੂੰ STM32CubeWL3 ਪੱਧਰ ਦੇ ਆਧਾਰ 'ਤੇ ਵਰਗੀਕ੍ਰਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜਿਸ 'ਤੇ ਉਹ ਲਾਗੂ ਹੁੰਦੇ ਹਨ। ਇਹਨਾਂ ਦੇ ਨਾਮ ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਹਨ:

  • ਪੱਧਰ 0 ਸਾਬਕਾamples ਨੂੰ ਸਾਬਕਾ ਕਿਹਾ ਜਾਂਦਾ ਹੈampਲੇਸ, ਸਾਬਕਾamples_LL, ਅਤੇ ਸਾਬਕਾamples_MIX। ਉਹ ਬਿਨਾਂ ਕਿਸੇ ਮਿਡਲਵੇਅਰ ਕੰਪੋਨੈਂਟ ਦੇ ਕ੍ਰਮਵਾਰ HAL ਡਰਾਈਵਰ, LL ਡਰਾਈਵਰ, ਅਤੇ HAL ਅਤੇ LL ਡਰਾਈਵਰਾਂ ਦੇ ਮਿਸ਼ਰਣ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ। ਪ੍ਰਦਰਸ਼ਨ ਸਾਬਕਾamples ਵੀ ਉਪਲਬਧ ਹਨ।
  • ਪੱਧਰ 1 ਸਾਬਕਾamples ਨੂੰ ਐਪਲੀਕੇਸ਼ਨ ਕਿਹਾ ਜਾਂਦਾ ਹੈ। ਉਹ ਹਰੇਕ ਮਿਡਲਵੇਅਰ ਕੰਪੋਨੈਂਟ ਦੇ ਆਮ ਵਰਤੋਂ ਦੇ ਕੇਸ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ।

ਦਿੱਤੇ ਗਏ ਬੋਰਡ ਲਈ ਕੋਈ ਵੀ ਫਰਮਵੇਅਰ ਐਪਲੀਕੇਸ਼ਨ ਟੈਂਪਲ ਏਟਸ ਅਤੇ ਟੈਂਪਲੇਟ_ਐਲਐਲ ਡਾਇਰੈਕਟਰੀਆਂ ਵਿੱਚ ਉਪਲਬਧ ਟੈਂਪਲੇਟ ਪ੍ਰੋਜੈਕਟਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਤੇਜ਼ੀ ਨਾਲ ਬਣਾਈ ਜਾ ਸਕਦੀ ਹੈ।

Exampਲੇਸ, ਸਾਬਕਾamples_LL, ਅਤੇ ਸਾਬਕਾamples_MIX ਦੀ ਇੱਕੋ ਜਿਹੀ ਬਣਤਰ ਹੈ:

  • \Inc ਫੋਲਡਰ ਜਿਸ ਵਿੱਚ ਸਾਰੇ ਸਿਰਲੇਖ ਹਨ files.
  • \Src ਫੋਲਡਰ ਜਿਸ ਵਿੱਚ ਸਰੋਤ ਕੋਡ ਹੈ।
  • \EWARM, \MDK-ARM, ਅਤੇ \STM32CubeIDE ਫੋਲਡਰਾਂ ਵਿੱਚ ਹਰੇਕ ਟੂਲਚੇਨ ਲਈ ਪਹਿਲਾਂ ਤੋਂ ਸੰਰਚਿਤ ਪ੍ਰੋਜੈਕਟ ਸ਼ਾਮਲ ਹਨ।
  • readme.md ਅਤੇ readme.html ਸਾਬਕਾ ਦਾ ਵਰਣਨ ਕਰਦੇ ਹੋਏampਇਸ ਨੂੰ ਕੰਮ ਕਰਨ ਲਈ ਵਿਹਾਰ ਅਤੇ ਲੋੜੀਂਦਾ ਵਾਤਾਵਰਣ.

STM32CubeWL3 ਨਾਲ ਸ਼ੁਰੂਆਤ ਕਰਨਾ

ਪਹਿਲਾ ਸਾਬਕਾ ਚੱਲ ਰਿਹਾ ਹੈample
ਇਹ ਭਾਗ ਦੱਸਦਾ ਹੈ ਕਿ ਪਹਿਲੀ ਐਕਸ ਨੂੰ ਚਲਾਉਣਾ ਕਿੰਨਾ ਸੌਖਾ ਹੈample STM32CubeWL3 ਦੇ ਅੰਦਰ। ਇਹ NUCLEO-WL33CC1 ਬੋਰਡ 'ਤੇ ਚੱਲ ਰਹੇ ਇੱਕ ਸਧਾਰਨ LED ਟੌਗਲ ਦੀ ਪੀੜ੍ਹੀ ਨੂੰ ਇੱਕ ਉਦਾਹਰਣ ਵਜੋਂ ਵਰਤਦਾ ਹੈ:

  1. STM32CubeWL3 MCU ਪੈਕੇਜ ਡਾਊਨਲੋਡ ਕਰੋ।
  2. ਇਸ ਨੂੰ ਅਨਜ਼ਿਪ ਕਰੋ, ਜਾਂ ਇੰਸਟਾਲਰ ਨੂੰ ਚਲਾਓ ਜੇਕਰ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੋਵੇ, ਆਪਣੀ ਪਸੰਦ ਦੀ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ।
  3. ਇਹ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਚਿੱਤਰ 3. STM32CubeWL3 ਫਰਮਵੇਅਰ ਪੈਕੇਜ ਢਾਂਚੇ ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਪੈਕੇਜ ਢਾਂਚਾ ਨਾ ਬਦਲਿਆ ਜਾਵੇ। ਨੋਟ ਕਰੋ ਕਿ ਰੂਟ ਵਾਲੀਅਮ (ਭਾਵ C:\ST ਜਾਂ G:\Tests) ਦੇ ਨੇੜੇ ਦੇ ਸਥਾਨ 'ਤੇ ਪੈਕੇਜ ਦੀ ਨਕਲ ਕਰਨ ਦੀ ਵੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਕਿਉਂਕਿ ਕੁਝ IDEs ਨੂੰ ਸਮੱਸਿਆਵਾਂ ਆਉਂਦੀਆਂ ਹਨ ਜਦੋਂ ਮਾਰਗ ਬਹੁਤ ਲੰਬਾ ਹੁੰਦਾ ਹੈ।

HAL ਸਾਬਕਾ ਨੂੰ ਕਿਵੇਂ ਚਲਾਉਣਾ ਹੈample
ਇੱਕ ਸਾਬਕਾ ਨੂੰ ਲੋਡ ਕਰਨ ਅਤੇ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂample, ਇਸ ਨੂੰ ਜ਼ੋਰਦਾਰ ਸਾਬਕਾ ਨੂੰ ਪੜ੍ਹਨ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਹੈample readme file ਕਿਸੇ ਖਾਸ ਸੰਰਚਨਾ ਲਈ।

  1. \Projects\NUCLEO-WL33CC\Ex ਲਈ ਬ੍ਰਾਊਜ਼ ਕਰੋamples.
  2. \GPIO, ਫਿਰ \GPIO_EXTI ਫੋਲਡਰ ਖੋਲ੍ਹੋ।
  3. ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਤਰਜੀਹੀ ਟੂਲਚੇਨ ਨਾਲ ਖੋਲ੍ਹੋ। ਇੱਕ ਤੇਜ਼ ਓਵਰview ਇੱਕ ਸਾਬਕਾ ਨੂੰ ਕਿਵੇਂ ਖੋਲ੍ਹਣਾ, ਬਣਾਉਣਾ ਅਤੇ ਚਲਾਉਣਾ ਹੈampਸਮਰਥਿਤ ਟੂਲਚੇਨ ਦੇ ਨਾਲ ਹੇਠਾਂ ਦਿੱਤਾ ਗਿਆ ਹੈ।
  4. ਸਭ ਨੂੰ ਦੁਬਾਰਾ ਬਣਾਓ files ਅਤੇ ਚਿੱਤਰ ਨੂੰ ਨਿਸ਼ਾਨਾ ਮੈਮੋਰੀ ਵਿੱਚ ਲੋਡ ਕਰੋ।
  5. ਸਾਬਕਾ ਚਲਾਓample. ਹੋਰ ਵੇਰਵਿਆਂ ਲਈ, ਸਾਬਕਾ ਨੂੰ ਵੇਖੋample readme file.

ਇੱਕ ਸਾਬਕਾ ਨੂੰ ਖੋਲ੍ਹਣ, ਬਣਾਉਣ ਅਤੇ ਚਲਾਉਣ ਲਈampਹਰੇਕ ਸਮਰਥਿਤ ਟੂਲਚੇਨ ਦੇ ਨਾਲ, ਹੇਠਾਂ ਦਿੱਤੇ ਕਦਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ:

  • EWARM:
  1. ਦੇ ਤਹਿਤ ਸਾਬਕਾamples ਫੋਲਡਰ, \EWARM ਸਬਫੋਲਡਰ ਖੋਲ੍ਹੋ।
  2. Project.eww ਵਰਕਸਪੇਸ ਲਾਂਚ ਕਰੋ (ਵਰਕਸਪੇਸ ਦਾ ਨਾਮ ਇੱਕ ਸਾਬਕਾ ਤੋਂ ਬਦਲ ਸਕਦਾ ਹੈampਦੂਜੇ ਨੂੰ ਲੈ).
  3. ਸਭ ਨੂੰ ਦੁਬਾਰਾ ਬਣਾਓ files: [ਪ੍ਰੋਜੈਕਟ]>[ਸਭ ਨੂੰ ਦੁਬਾਰਾ ਬਣਾਓ]।
  4. ਪ੍ਰੋਜੈਕਟ ਚਿੱਤਰ ਲੋਡ ਕਰੋ: [ਪ੍ਰੋਜੈਕਟ]>[ਡੀਬੱਗ]।
  5. ਪ੍ਰੋਗਰਾਮ ਚਲਾਓ: [ਡੀਬੱਗ]>[ਗੋ (F5)]।
  • MDK-ARM:
  1. ਦੇ ਤਹਿਤ ਸਾਬਕਾamples ਫੋਲਡਰ, \MDK-ARM ਸਬਫੋਲਡਰ ਖੋਲ੍ਹੋ।
  2. Project.uvproj ਵਰਕਸਪੇਸ ਖੋਲ੍ਹੋ (ਵਰਕਸਪੇਸ ਦਾ ਨਾਮ ਇੱਕ ਸਾਬਕਾ ਤੋਂ ਬਦਲ ਸਕਦਾ ਹੈampਦੂਜੇ ਨੂੰ ਲੈ).
  3. ਸਭ ਨੂੰ ਦੁਬਾਰਾ ਬਣਾਓ files: [ਪ੍ਰੋਜੈਕਟ]>[ਸਾਰੇ ਟੀਚੇ ਨੂੰ ਦੁਬਾਰਾ ਬਣਾਓ files]।
  4. ਪ੍ਰੋਜੈਕਟ ਚਿੱਤਰ ਲੋਡ ਕਰੋ: [ਡੀਬੱਗ]>[ਡੀਬੱਗ ਸੈਸ਼ਨ ਸ਼ੁਰੂ/ਰੋਕੋ]।
  5. ਪ੍ਰੋਗਰਾਮ ਚਲਾਓ: [ਡੀਬੱਗ]>[ਚਲਾਓ (F5)]।
  • STM32CubeIDE:
  1. STM32CubeIDE ਟੂਲਚੇਨ ਖੋਲ੍ਹੋ।
  2. ਉੱਤੇ ਕਲਿੱਕ ਕਰੋ [File]>[ਵਰਕਸਪੇਸ ਸਵਿੱਚ ਕਰੋ]>[ਹੋਰ] ਅਤੇ STM32CubeIDE ਵਰਕਸਪੇਸ ਡਾਇਰੈਕਟਰੀ ਨੂੰ ਬ੍ਰਾਊਜ਼ ਕਰੋ।
  3. ਉੱਤੇ ਕਲਿੱਕ ਕਰੋ [File]>[ਆਯਾਤ], [ਜਨਰਲ]>[ਵਰਕਸਪੇਸ ਵਿੱਚ ਮੌਜੂਦਾ ਪ੍ਰੋਜੈਕਟ] ਚੁਣੋ, ਅਤੇ ਫਿਰ [ਅੱਗੇ] 'ਤੇ ਕਲਿੱਕ ਕਰੋ।
  4. STM32CubeIDE ਵਰਕਸਪੇਸ ਡਾਇਰੈਕਟਰੀ ਨੂੰ ਬ੍ਰਾਊਜ਼ ਕਰੋ ਅਤੇ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਚੁਣੋ।
  5. ਸਾਰੇ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਦੁਬਾਰਾ ਬਣਾਓ files: ਪ੍ਰੋਜੈਕਟ ਐਕਸਪਲੋਰਰ ਵਿੰਡੋ ਵਿੱਚ ਪ੍ਰੋਜੈਕਟ ਦੀ ਚੋਣ ਕਰੋ ਅਤੇ ਫਿਰ 'ਤੇ ਕਲਿੱਕ ਕਰੋ
    [ਪ੍ਰੋਜੈਕਟ]>[ਬਿਲਡ ਪ੍ਰੋਜੈਕਟ] ਮੀਨੂ।
  6.  ਪ੍ਰੋਗਰਾਮ ਚਲਾਓ: [ਚਲਾਓ]>[ਡੀਬੱਗ (F11)]।

ਇੱਕ ਕਸਟਮ ਐਪਲੀਕੇਸ਼ਨ ਦਾ ਵਿਕਾਸ ਕਰਨਾ

ਕਿਸੇ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਵਿਕਸਤ ਕਰਨ ਜਾਂ ਅੱਪਡੇਟ ਕਰਨ ਲਈ STM32CubeMX ਦੀ ਵਰਤੋਂ ਕਰਨਾ
STM32Cube MCU ਪੈਕੇਜ ਵਿੱਚ, ਲਗਭਗ ਸਾਰੇ ਪ੍ਰੋਜੈਕਟ ਸਾਬਕਾamples ਸਿਸਟਮ, ਪੈਰੀਫਿਰਲ ਅਤੇ ਮਿਡਲਵੇਅਰ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਲਈ STM32CubeMX ਟੂਲ ਨਾਲ ਤਿਆਰ ਕੀਤੇ ਜਾਂਦੇ ਹਨ।

ਮੌਜੂਦਾ ਪ੍ਰੋਜੈਕਟ ਦੀ ਸਿੱਧੀ ਵਰਤੋਂ ਸਾਬਕਾampSTM32CubeMX ਟੂਲ ਤੋਂ le ਲਈ STM32CubeMX 6.12.0 ਜਾਂ ਉੱਚੇ ਦੀ ਲੋੜ ਹੈ:

  • STM32CubeMX ਦੀ ਸਥਾਪਨਾ ਤੋਂ ਬਾਅਦ, ਇੱਕ ਪ੍ਰਸਤਾਵਿਤ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਖੋਲ੍ਹੋ ਅਤੇ ਜੇਕਰ ਲੋੜ ਹੋਵੇ ਤਾਂ ਅੱਪਡੇਟ ਕਰੋ।
    ਮੌਜੂਦਾ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਖੋਲ੍ਹਣ ਦਾ ਸਭ ਤੋਂ ਆਸਾਨ ਤਰੀਕਾ ਹੈ *.ioc 'ਤੇ ਦੋ ਵਾਰ ਕਲਿੱਕ ਕਰਨਾ file ਤਾਂ ਜੋ STM32CubeMX ਆਪਣੇ ਆਪ ਪ੍ਰੋਜੈਕਟ ਅਤੇ ਇਸਦੇ ਸਰੋਤ ਨੂੰ ਖੋਲ੍ਹਦਾ ਹੈ fileਐੱਸ. STM32CubeMX ਅਜਿਹੇ ਪ੍ਰੋਜੈਕਟਾਂ ਦਾ ਸ਼ੁਰੂਆਤੀ ਸਰੋਤ ਕੋਡ ਤਿਆਰ ਕਰਦਾ ਹੈ।
  • ਮੁੱਖ ਐਪਲੀਕੇਸ਼ਨ ਸਰੋਤ ਕੋਡ "ਯੂਜ਼ਰ ਕੋਡ ਸ਼ੁਰੂ" ਅਤੇ "ਯੂਜ਼ਰ ਕੋਡ ਅੰਤ" ਟਿੱਪਣੀਆਂ ਦੁਆਰਾ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ। ਜੇਕਰ ਪੈਰੀਫਿਰਲ ਚੋਣ ਅਤੇ ਸੈਟਿੰਗਾਂ ਨੂੰ ਸੋਧਿਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ STM32CubeMX ਮੁੱਖ ਐਪਲੀਕੇਸ਼ਨ ਸਰੋਤ ਕੋਡ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦੇ ਹੋਏ ਕੋਡ ਦੇ ਸ਼ੁਰੂਆਤੀ ਹਿੱਸੇ ਨੂੰ ਅਪਡੇਟ ਕਰਦਾ ਹੈ।

STM32CubeMX ਦੇ ਨਾਲ ਇੱਕ ਕਸਟਮ ਪ੍ਰੋਜੈਕਟ ਵਿਕਸਿਤ ਕਰਨ ਲਈ, ਕਦਮ-ਦਰ-ਕਦਮ ਪ੍ਰਕਿਰਿਆ ਦੀ ਪਾਲਣਾ ਕਰੋ:

  1. ਇੱਕ ਪਿਨਆਉਟ-ਅਪਵਾਦ ਹੱਲ ਕਰਨ ਵਾਲੇ, ਇੱਕ ਕਲਾਕ-ਟ੍ਰੀ ਸੈਟਿੰਗ ਸਹਾਇਕ, ਇੱਕ ਪਾਵਰ ਖਪਤ ਕੈਲਕੁਲੇਟਰ, ਅਤੇ MCU ਪੈਰੀਫਿਰਲ ਕੌਂਫਿਗਰੇਸ਼ਨ (ਜਿਵੇਂ ਕਿ GPIO ਜਾਂ USART) ਕਰਨ ਵਾਲੀ ਉਪਯੋਗਤਾ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਸਾਰੇ ਲੋੜੀਂਦੇ ਏਮਬੇਡਡ ਸੌਫਟਵੇਅਰ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰੋ।
  2. ਚੁਣੀ ਗਈ ਸੰਰਚਨਾ ਦੇ ਆਧਾਰ 'ਤੇ ਸ਼ੁਰੂਆਤੀ C ਕੋਡ ਤਿਆਰ ਕਰੋ। ਇਹ ਕੋਡ ਕਈ ਵਿਕਾਸ ਵਾਤਾਵਰਣਾਂ ਵਿੱਚ ਵਰਤਣ ਲਈ ਤਿਆਰ ਹੈ। ਯੂਜ਼ਰ ਕੋਡ ਨੂੰ ਅਗਲੀ ਕੋਡ ਜਨਰੇਸ਼ਨ 'ਤੇ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ।
    STM32CubeMX ਬਾਰੇ ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ, STM32 ਕੌਂਫਿਗਰੇਸ਼ਨ ਅਤੇ ਸ਼ੁਰੂਆਤੀ C ਕੋਡ ਜਨਰੇਸ਼ਨ (UM32) ਲਈ ਉਪਭੋਗਤਾ ਮੈਨੂਅਲ STM1718CubeMX ਵੇਖੋ।

ਡਰਾਈਵਰ ਐਪਲੀਕੇਸ਼ਨ

HAL ਐਪਲੀਕੇਸ਼ਨ
ਇਹ ਭਾਗ STM32CubeWL3 ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਕਸਟਮ HAL ਐਪਲੀਕੇਸ਼ਨ ਬਣਾਉਣ ਲਈ ਲੋੜੀਂਦੇ ਕਦਮਾਂ ਦਾ ਵਰਣਨ ਕਰਦਾ ਹੈ:

  1. ਇੱਕ ਪ੍ਰੋਜੈਕਟ ਬਣਾਓ
    ਨਵਾਂ ਪ੍ਰੋਜੈਕਟ ਬਣਾਉਣ ਲਈ, ਜਾਂ ਤਾਂ \Projects\< STM32xxx_yyy>\Templates ਦੇ ਅਧੀਨ ਹਰੇਕ ਬੋਰਡ ਲਈ ਪ੍ਰਦਾਨ ਕੀਤੇ ਟੈਂਪਲੇਟ ਪ੍ਰੋਜੈਕਟ ਤੋਂ ਜਾਂ \Projects\ ਦੇ ਅਧੀਨ ਕਿਸੇ ਵੀ ਉਪਲਬਧ ਪ੍ਰੋਜੈਕਟ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ। \Exampl es ਜਾਂ \Projects\ \ ਐਪਲੀਕੇਸ਼ਨ (ਕਿੱਥੇ ਬੋਰਡ ਦੇ ਨਾਮ ਦਾ ਹਵਾਲਾ ਦਿੰਦਾ ਹੈ)। ਟੈਂਪਲੇਟ ਪ੍ਰੋਜੈਕਟ ਇੱਕ ਖਾਲੀ ਮੁੱਖ ਲੂਪ ਫੰਕਸ਼ਨ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਹਾਲਾਂਕਿ, STM32CubeWL32 ਪ੍ਰੋਜੈਕਟ ਸੈਟਿੰਗਾਂ ਨੂੰ ਸਮਝਣ ਲਈ ਇਹ ਇੱਕ ਵਧੀਆ ਸ਼ੁਰੂਆਤੀ ਬਿੰਦੂ ਹੈ। ਟੈਂਪਲੇਟ ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਹਨ:
    • ਇਸ ਵਿੱਚ HAL ਸੋਰਸ ਕੋਡ, CMSIS, ਅਤੇ BSP ਡਰਾਈਵਰ ਹੁੰਦੇ ਹਨ, ਜੋ ਕਿ ਦਿੱਤੇ ਗਏ ਬੋਰਡ 'ਤੇ ਇੱਕ ਕੋਡ ਨੂੰ ਵਿਕਸਤ ਕਰਨ ਲਈ ਲੋੜੀਂਦੇ ਭਾਗਾਂ ਦਾ ਘੱਟੋ-ਘੱਟ ਸੈੱਟ ਹੁੰਦੇ ਹਨ।
    • ਇਸ ਵਿੱਚ ਸਾਰੇ ਫਰਮਵੇਅਰ ਭਾਗਾਂ ਲਈ ਸ਼ਾਮਲ ਮਾਰਗ ਸ਼ਾਮਲ ਹਨ।
    • ਇਹ ਸਮਰਥਿਤ STM32WL3x ਉਤਪਾਦ ਲਾਈਨ ਡਿਵਾਈਸਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ, ਜਿਸ ਨਾਲ CMSIS ਅਤੇ HAL ਡਰਾਈਵਰਾਂ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਸੰਰਚਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
    • ਇਹ ਵਰਤੋਂ ਲਈ ਤਿਆਰ ਉਪਭੋਗਤਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ files ਨੂੰ ਪਹਿਲਾਂ ਤੋਂ ਸੰਰਚਿਤ ਕੀਤਾ ਗਿਆ ਹੈ ਜਿਵੇਂ ਕਿ ਹੇਠਾਂ ਦਿਖਾਇਆ ਗਿਆ ਹੈ:
    • ਐਚਏਐਲ ਨੇ ਆਰਮ® ਕੋਰ ਸਿਸਟਿਕ ਨਾਲ ਡਿਫੌਲਟ ਟਾਈਮ ਬੇਸ ਨਾਲ ਸ਼ੁਰੂਆਤ ਕੀਤੀ।
    • SysTick ISR ਨੂੰ HAL_Delay() ਉਦੇਸ਼ ਲਈ ਲਾਗੂ ਕੀਤਾ ਗਿਆ ਹੈ।
      ਨੋਟ: ਕਿਸੇ ਮੌਜੂਦਾ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਕਿਸੇ ਹੋਰ ਸਥਾਨ 'ਤੇ ਕਾਪੀ ਕਰਦੇ ਸਮੇਂ, ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਸਾਰੇ ਮਾਰਗ ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ ਹਨ।
  2. ਫਰਮਵੇਅਰ ਭਾਗਾਂ ਦੀ ਸੰਰਚਨਾ ਕਰੋ
    HAL ਅਤੇ ਮਿਡਲਵੇਅਰ ਕੰਪੋਨੈਂਟ ਸਿਰਲੇਖ ਵਿੱਚ ਘੋਸ਼ਿਤ ਮੈਕਰੋਜ਼ #define ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਬਿਲਡ-ਟਾਈਮ ਕੌਂਫਿਗਰੇਸ਼ਨ ਵਿਕਲਪਾਂ ਦਾ ਇੱਕ ਸੈੱਟ ਪੇਸ਼ ਕਰਦੇ ਹਨ file. ਇੱਕ ਟੈਮਪਲੇਟ ਸੰਰਚਨਾ file ਹਰੇਕ ਕੰਪੋਨੈਂਟ ਦੇ ਅੰਦਰ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਜਿਸ ਨੂੰ ਪ੍ਰੋਜੈਕਟ ਫੋਲਡਰ (ਆਮ ਤੌਰ 'ਤੇ ਸੰਰਚਨਾ) ਵਿੱਚ ਕਾਪੀ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ file ਨੂੰ xxx_conf_template.h ਨਾਮ ਦਿੱਤਾ ਗਿਆ ਹੈ, ਪਰੋਜੈਕਟ ਫੋਲਡਰ ਵਿੱਚ ਕਾਪੀ ਕਰਨ ਵੇਲੇ ਟੁਕੜੇ _ਟੈਂਪਲੇਟ ਨੂੰ ਹਟਾਉਣ ਦੀ ਲੋੜ ਹੈ)। ਸੰਰਚਨਾ file ਹਰੇਕ ਸੰਰਚਨਾ ਵਿਕਲਪ ਦੇ ਪ੍ਰਭਾਵ ਨੂੰ ਸਮਝਣ ਲਈ ਲੋੜੀਂਦੀ ਜਾਣਕਾਰੀ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਵਧੇਰੇ ਵਿਸਤ੍ਰਿਤ ਜਾਣਕਾਰੀ ਹਰੇਕ ਹਿੱਸੇ ਲਈ ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ ਦਸਤਾਵੇਜ਼ਾਂ ਵਿੱਚ ਉਪਲਬਧ ਹੈ।
  3. HAL ਲਾਇਬ੍ਰੇਰੀ ਸ਼ੁਰੂ ਕਰੋ
    ਮੁੱਖ ਪ੍ਰੋਗਰਾਮ 'ਤੇ ਜਾਣ ਤੋਂ ਬਾਅਦ, HAL ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਨੂੰ HAL_Init() API ਨੂੰ ਕਾਲ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ, ਜੋ ਹੇਠਾਂ ਦਿੱਤੇ ਕੰਮਾਂ ਨੂੰ ਪੂਰਾ ਕਰਦਾ ਹੈ:
    • ਫਲੈਸ਼ ਮੈਮੋਰੀ ਪ੍ਰੀਫੈਚ ਅਤੇ SysTick ਇੰਟਰੱਪਟ ਤਰਜੀਹ ਦੀ ਸੰਰਚਨਾ (stm3 2wl3x_hal_conf.h ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਮੈਕਰੋ ਦੁਆਰਾ)।
    •  stm32wl3x_hal_conf.h ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ SysTick ਇੰਟਰੱਪਟ ਤਰਜੀਹ TICK_INT_PRIO 'ਤੇ ਹਰ ਮਿਲੀਸਕਿੰਟ ਵਿੱਚ ਇੱਕ ਇੰਟਰੱਪਟ ਬਣਾਉਣ ਲਈ SysTick ਦੀ ਸੰਰਚਨਾ।
    • 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 ਰੁਕਾਵਟ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ (ਜੇ ਲੋੜ ਹੋਵੇ)।
    • ਪੈਰੀਫਿਰਲ ਰੁਕਾਵਟ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ (ਜੇ ਲੋੜ ਹੋਵੇ)।
    • ਲੋੜ ਪੈਣ 'ਤੇ ਲੋੜੀਂਦੇ ਇੰਟਰੱਪਟ ਹੈਂਡਲਰ (ਪੈਰੀਫਿਰਲ ਅਤੇ DMA) ਨੂੰ ਕਾਲ ਕਰਨ ਲਈ stm32xxx_it.c ਨੂੰ ਸੰਪਾਦਿਤ ਕਰੋ।
    •  ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਪੂਰਾ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨ ਲਿਖੋ ਜੇਕਰ ਇੱਕ ਪੈਰੀਫਿਰਲ ਇੰਟਰੱਪਟ ਜਾਂ DMA ਵਰਤਿਆ ਜਾਣਾ ਹੈ।
    •  ਯੂਜ਼ਰ ਮੇਨ.ਸੀ file, ਪੈਰੀਫਿਰਲ ਹੈਂਡਲ ਬਣਤਰ ਨੂੰ ਸ਼ੁਰੂ ਕਰੋ ਫਿਰ ਪੈਰੀਫਿਰਲ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਪੈਰੀਫਿਰਲ ਸ਼ੁਰੂਆਤੀ ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰੋ।
  6. ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ ਵਿਕਸਿਤ ਕਰੋ
    ਇਸ ਮੌਕੇ ਐੱਸtagਈ, ਸਿਸਟਮ ਤਿਆਰ ਹੈ ਅਤੇ ਉਪਭੋਗਤਾ ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਵਿਕਾਸ ਸ਼ੁਰੂ ਹੋ ਸਕਦਾ ਹੈ।
    HAL ਪੈਰੀਫਿਰਲ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਲਈ ਅਨੁਭਵੀ ਅਤੇ ਵਰਤੋਂ ਲਈ ਤਿਆਰ API ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਇਹ ਕਿਸੇ ਵੀ ਐਪਲੀਕੇਸ਼ਨ ਲੋੜਾਂ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ ਪੋਲਿੰਗ, ਰੁਕਾਵਟਾਂ, ਅਤੇ ਇੱਕ DMA ਪ੍ਰੋਗਰਾਮਿੰਗ ਮਾਡਲ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ। ਹਰੇਕ ਪੈਰੀਫਿਰਲ ਨੂੰ ਕਿਵੇਂ ਵਰਤਣਾ ਹੈ ਇਸ ਬਾਰੇ ਹੋਰ ਵੇਰਵਿਆਂ ਲਈ, ਰਿਚ ਐਕਸ ਵੇਖੋample ਸੈੱਟ STM32CubeWL3 MCU ਪੈਕੇਜ ਵਿੱਚ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ।

ਸਾਵਧਾਨ:
ਡਿਫੌਲਟ HAL ਲਾਗੂ ਕਰਨ ਵਿੱਚ, SysTick ਟਾਈਮਰ ਨੂੰ ਇੱਕ ਟਾਈਮਬੇਸ ਦੇ ਤੌਰ ਤੇ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ: ਇਹ ਨਿਯਮਤ ਸਮੇਂ ਦੇ ਅੰਤਰਾਲਾਂ 'ਤੇ ਰੁਕਾਵਟਾਂ ਪੈਦਾ ਕਰਦਾ ਹੈ। ਜੇਕਰ HAL_Delay() ਨੂੰ ਪੈਰੀਫਿਰਲ ISR ਪ੍ਰਕਿਰਿਆ ਤੋਂ ਬੁਲਾਇਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਯਕੀਨੀ ਬਣਾਓ ਕਿ SysTick ਇੰਟਰੱਪਟ ਦੀ ਪੈਰੀਫਿਰਲ ਇੰਟਰੱਪਟ ਨਾਲੋਂ ਉੱਚ ਤਰਜੀਹ (ਸੰਖਿਆਤਮਕ ਤੌਰ 'ਤੇ ਘੱਟ) ਹੈ। ਨਹੀਂ ਤਾਂ, ਕਾਲਰ ISR ਪ੍ਰਕਿਰਿਆ ਹੈ
ਬਲੌਕ ਕੀਤਾ। ਟਾਈਮਬੇਸ ਸੰਰਚਨਾ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਨ ਵਾਲੇ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਉਪਭੋਗਤਾ ਵਿੱਚ ਹੋਰ ਲਾਗੂ ਕਰਨ ਦੇ ਮਾਮਲੇ ਵਿੱਚ ਓਵਰਰਾਈਡ ਨੂੰ ਸੰਭਵ ਬਣਾਉਣ ਲਈ __ ਕਮਜ਼ੋਰ ਘੋਸ਼ਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ file (ਇੱਕ ਆਮ-ਉਦੇਸ਼ ਟਾਈਮਰ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਉਦਾਹਰਨ ਲਈample, ਜਾਂ ਕੋਈ ਹੋਰ ਸਮਾਂ ਸਰੋਤ)।
ਹੋਰ ਵੇਰਵਿਆਂ ਲਈ, HAL_TimeBase ਸਾਬਕਾ ਵੇਖੋample.

LL ਐਪਲੀਕੇਸ਼ਨ
ਇਹ ਭਾਗ STM32CubeWL3 ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਕਸਟਮ LL ਐਪਲੀਕੇਸ਼ਨ ਬਣਾਉਣ ਲਈ ਲੋੜੀਂਦੇ ਕਦਮਾਂ ਦਾ ਵਰਣਨ ਕਰਦਾ ਹੈ।

  1. ਇੱਕ ਪ੍ਰੋਜੈਕਟ ਬਣਾਓ
    ਇੱਕ ਨਵਾਂ ਪ੍ਰੋਜੈਕਟ ਬਣਾਉਣ ਲਈ, ਜਾਂ ਤਾਂ \Projects\ ਦੇ ਅਧੀਨ ਹਰੇਕ ਬੋਰਡ ਲਈ ਪ੍ਰਦਾਨ ਕੀਤੇ Templates_LL ਪ੍ਰੋਜੈਕਟ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ। \Templates_LL ਜਾਂ \Projects\ ਦੇ ਅਧੀਨ ਕਿਸੇ ਵੀ ਉਪਲਬਧ ਪ੍ਰੋਜੈਕਟ ਤੋਂ \E ਐਕਸamples_LL ( ਬੋਰਡ ਦੇ ਨਾਮ ਦਾ ਹਵਾਲਾ ਦਿੰਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ NUCLEO-WL32CC33)।
    ਟੈਮਪਲੇਟ ਪ੍ਰੋਜੈਕਟ ਇੱਕ ਖਾਲੀ ਮੁੱਖ ਲੂਪ ਫੰਕਸ਼ਨ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਜੋ STM32CubeWL3 ਲਈ ਪ੍ਰੋਜੈਕਟ ਸੈਟਿੰਗਾਂ ਨੂੰ ਸਮਝਣ ਲਈ ਇੱਕ ਵਧੀਆ ਸ਼ੁਰੂਆਤੀ ਬਿੰਦੂ ਹੈ। ਟੈਂਪਲੇਟ ਦੀਆਂ ਮੁੱਖ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਹੇਠਾਂ ਦਿੱਤੀਆਂ ਹਨ:
    • ਇਸ ਵਿੱਚ LL ਅਤੇ CMSIS ਡਰਾਈਵਰਾਂ ਦੇ ਸਰੋਤ ਕੋਡ ਹੁੰਦੇ ਹਨ, ਜੋ ਦਿੱਤੇ ਗਏ ਬੋਰਡ 'ਤੇ ਕੋਡ ਨੂੰ ਵਿਕਸਤ ਕਰਨ ਲਈ ਲੋੜੀਂਦੇ ਭਾਗਾਂ ਦਾ ਘੱਟੋ-ਘੱਟ ਸੈੱਟ ਹੁੰਦਾ ਹੈ।
    • ਇਸ ਵਿੱਚ ਸਾਰੇ ਲੋੜੀਂਦੇ ਫਰਮਵੇਅਰ ਭਾਗਾਂ ਲਈ ਸ਼ਾਮਲ ਮਾਰਗ ਸ਼ਾਮਲ ਹਨ।
    • ਇਹ ਸਮਰਥਿਤ STM32WL3x ਉਤਪਾਦ ਲਾਈਨ ਡਿਵਾਈਸ ਦੀ ਚੋਣ ਕਰਦਾ ਹੈ ਅਤੇ CMSIS ਅਤੇ LL ਡਰਾਈਵਰਾਂ ਦੀ ਸਹੀ ਸੰਰਚਨਾ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।
    • ਇਹ ਵਰਤੋਂ ਲਈ ਤਿਆਰ ਉਪਭੋਗਤਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ files ਜੋ ਪਹਿਲਾਂ ਤੋਂ ਸੰਰਚਿਤ ਹਨ:
    • main.h: LED ਅਤੇ USER_BUTTON ਪਰਿਭਾਸ਼ਾ ਐਬਸਟਰੈਕਸ਼ਨ ਲੇਅਰ।
    • main.c: ਅਧਿਕਤਮ ਬਾਰੰਬਾਰਤਾ ਲਈ ਸਿਸਟਮ ਕਲਾਕ ਸੰਰਚਨਾ।
  2. LL ਸਾਬਕਾ ਨੂੰ ਪੋਰਟ ਕਰੋampLe:
    • Templates_LL ਫੋਲਡਰ ਨੂੰ ਕਾਪੀ/ਪੇਸਟ ਕਰੋ - ਸ਼ੁਰੂਆਤੀ ਸਰੋਤ ਨੂੰ ਰੱਖਣ ਲਈ - ਜਾਂ ਮੌਜੂਦਾ Templa tes_LL ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਸਿੱਧਾ ਅੱਪਡੇਟ ਕਰੋ।
    • ਫਿਰ, ਪੋਰਟਿੰਗ ਵਿੱਚ ਮੁੱਖ ਤੌਰ 'ਤੇ Templates_LL ਨੂੰ ਬਦਲਣਾ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ fileਸਾਬਕਾ ਦੁਆਰਾ ਐੱਸamples_LL ਨਿਸ਼ਾਨਾ ਪ੍ਰੋਜੈਕਟ.
    • ਬੋਰਡ ਦੇ ਸਾਰੇ ਖਾਸ ਹਿੱਸੇ ਰੱਖੋ। ਸਪਸ਼ਟਤਾ ਦੇ ਕਾਰਨਾਂ ਕਰਕੇ, ਬੋਰਡ ਦੇ ਖਾਸ ਹਿੱਸਿਆਂ ਨੂੰ ਖਾਸ ਨਾਲ ਫਲੈਗ ਕੀਤਾ ਜਾਂਦਾ ਹੈ tags:
      STM32WL3x-ਸਾਫਟਵੇਅਰ-ਪੈਕੇਜ (1)

ਇਸ ਤਰ੍ਹਾਂ, ਮੁੱਖ ਪੋਰਟਿੰਗ ਕਦਮ ਹੇਠਾਂ ਦਿੱਤੇ ਹਨ:

  • stm32wl3x_it.h ਨੂੰ ਬਦਲੋ file.
  • stm32wl3x_it.c ਨੂੰ ਬਦਲੋ file.
  • ਮੁੱਖ ਨੂੰ ਬਦਲੋ file ਅਤੇ ਇਸਨੂੰ ਅੱਪਡੇਟ ਕਰੋ: LL ਟੈਂਪਲੇਟ ਦੀ LED ਅਤੇ ਉਪਭੋਗਤਾ ਬਟਨ ਪਰਿਭਾਸ਼ਾ ਨੂੰ ਬੋਰਡ ਵਿਸ਼ੇਸ਼ ਸੰਰਚਨਾ ਦੇ ਅਧੀਨ ਰੱਖੋ tags.
  • ਮੁੱਖ.ਸੀ ਨੂੰ ਬਦਲੋ file ਅਤੇ ਇਸਨੂੰ ਅਪਡੇਟ ਕਰੋ:
  • SystemClock_Config() LL ਟੈਂਪਲੇਟ ਫੰਕਸ਼ਨ ਦੀ ਘੜੀ ਸੰਰਚਨਾ ਨੂੰ ਬੋਰਡ ਵਿਸ਼ੇਸ਼ ਸੰਰਚਨਾ ਦੇ ਅਧੀਨ ਰੱਖੋ tags.
  • LED ਪਰਿਭਾਸ਼ਾ 'ਤੇ ਨਿਰਭਰ ਕਰਦਿਆਂ, ਹਰੇਕ LDx ਮੌਜੂਦਗੀ ਨੂੰ ਵਿੱਚ ਉਪਲਬਧ ਕਿਸੇ ਹੋਰ LDy ਨਾਲ ਬਦਲੋ file ਮੁੱਖ

ਇਹਨਾਂ ਸੋਧਾਂ ਦੇ ਨਾਲ, ਸਾਬਕਾample ਨਿਸ਼ਾਨਾ ਬੋਰਡ 'ਤੇ ਚੱਲਦਾ ਹੈ.

RF ਐਪਲੀਕੇਸ਼ਨ, ਪ੍ਰਦਰਸ਼ਨ, ਅਤੇ ਸਾਬਕਾamples
ਵੱਖ-ਵੱਖ ਕਿਸਮਾਂ ਦੀਆਂ RF ਐਪਲੀਕੇਸ਼ਨਾਂ, ਪ੍ਰਦਰਸ਼ਨਾਂ, ਅਤੇ ਸਾਬਕਾamples STM32CubeWL3 ਪੈਕੇਜ ਵਿੱਚ ਉਪਲਬਧ ਹਨ। ਉਹ ਹੇਠਾਂ ਦੋ ਭਾਗਾਂ ਵਿੱਚ ਸੂਚੀਬੱਧ ਹਨ।

ਸਬ-GHz ਸਾਬਕਾamples ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ
ਇਹ ਸਾਬਕਾamples MRSUBG ਅਤੇ LPAWUR ਰੇਡੀਓ ਪੈਰੀਫਿਰਲਾਂ ਦੀਆਂ ਮੁੱਖ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦਾ ਪ੍ਰਦਰਸ਼ਨ ਕਰਦੇ ਹਨ। ਇਹ ਸਾਬਕਾamples ਹੇਠ ਉਪਲਬਧ ਹਨ:

  • ਪ੍ਰੋਜੈਕਟਸ\NUCLEO-WL33CC\Examples\MRSUBG
  • ਪ੍ਰੋਜੈਕਟਸ\NUCLEO-WL33CC\Examples\LPAWUR
  • ਪ੍ਰੋਜੈਕਟਸ\NUCLEO-WL33CC\Demonstrations\MRSUBG
  • ਪ੍ਰੋਜੈਕਟਸ\NUCLEO-WL33CC\Demonstrations\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 ਜੋ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਡੇਟਾਫਰ 0 ਅਤੇ 1 ਤੋਂ ਕਿਵੇਂ ਸਵੈਪ ਕਰਨਾ ਹੈ।
    • MRSUBG_Sequencer AutoAck: ਇੱਕ ਸਾਬਕਾample ਜੋ ਪੈਕੇਟ ਮਾਨਤਾਵਾਂ (ACKs) ਨੂੰ ਆਪਣੇ ਆਪ ਸੰਚਾਰਿਤ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ।
    • MRSUBG_WMBusSTD: WM-ਬੱਸ ਸੁਨੇਹਿਆਂ ਦਾ ਵਟਾਂਦਰਾ।
    • ਵੇਕਅੱਪ ਰੇਡੀਓ: ਇੱਕ ਸਾਬਕਾampLPAWUR ਰੇਡੀਓ ਪੈਰੀਫਿਰਲ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ।
  • ਪ੍ਰਦਰਸ਼ਨ/MRSUBG
    • MRSUBG_RTC_Button_TX: ਇਹ ਸਾਬਕਾample ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ SoC ਨੂੰ ਡੀਪ-ਸਟਾਪ ਮੋਡ ਵਿੱਚ ਕਿਵੇਂ ਸੈੱਟ ਕਰਨਾ ਹੈ ਅਤੇ ਇੱਕ ਫਰੇਮ ਭੇਜਣ ਲਈ ਜਾਂ RTC ਟਾਈਮਰ ਦੀ ਮਿਆਦ ਪੁੱਗਣ ਤੋਂ ਬਾਅਦ PB2 ਦਬਾ ਕੇ SoC ਨੂੰ ਜਗਾਉਣ ਲਈ MRSUBG ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨਾ ਹੈ।
    • MRSUBG_Sequencer_Sniff: ਇਹ ਸਾਬਕਾample ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਸੁੰਘਣ ਮੋਡ ਵਿੱਚ ਕੰਮ ਕਰਨ ਲਈ MRSUBG ਸੀਕੁਏਂਸਰ ਨੂੰ ਕਿਵੇਂ ਸੈੱਟ ਕਰਨਾ ਹੈ। ਇਹ ਸਾਬਕਾample ਰਿਸੀਵਰ ਸਾਈਡ ਨੂੰ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਦਾ ਹੈ ਅਤੇ ਟ੍ਰਾਂਸਮੀਟਰ ਦੇ ਤੌਰ 'ਤੇ ਇੱਕ ਹੋਰ ਡਿਵਾਈਸ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
    • MRSUBG_Timer: ਐਪਲੀਕੇਸ਼ਨ ਵੱਖ-ਵੱਖ ਸਮੇਂ ਦੇ ਅੰਤਰਾਲਾਂ ਦੇ ਨਾਲ MRSUBG ਟਾਈਮਰ (ਆਟੋਰੀਲੋਡ ਦੇ ਨਾਲ) ਦੇ ਕਈ ਮੌਕਿਆਂ ਨੂੰ ਤਹਿ ਕਰਦੀ ਹੈ।
    • MRSUBG_WakeupRadio_Tx: ਇਹ ਸਾਬਕਾample ਦੱਸਦਾ ਹੈ ਕਿ SoC ਨੂੰ ਡੀਪ ਸਟਾਪ ਮੋਡ ਵਿੱਚ ਕਿਵੇਂ ਸੈੱਟ ਕਰਨਾ ਹੈ ਅਤੇ ਇੱਕ ਫਰੇਮ ਭੇਜਣ ਲਈ PB2 ਨੂੰ ਦਬਾ ਕੇ SoC ਨੂੰ ਜਗਾਉਣ ਲਈ MRSUBG ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨਾ ਹੈ। ਇਹ ਸਾਬਕਾample ਟ੍ਰਾਂਸਮੀਟਰ ਸਾਈਡ ਨੂੰ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਦਾ ਹੈ ਅਤੇ ਇੱਕ LPAWUR ਰਿਸੀਵਰ ਵਜੋਂ ਇੱਕ ਹੋਰ ਡਿਵਾਈਸ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਪ੍ਰਾਪਤਕਰਤਾ ਸਾਬਕਾample NUCLEO-WL33CC\Demonstrations\LPAWUR\LPAWUR_WakeupRad io_Rx ਫੋਲਡਰ ਦੇ ਅਧੀਨ ਸਥਿਤ ਹੈ।
  • ਪ੍ਰਦਰਸ਼ਨ/LPAWUR
    • LPAWUR_WakeupRadio_Rx: ਇਹ ਸਾਬਕਾample ਦੱਸਦਾ ਹੈ ਕਿ SoC ਨੂੰ ਡੀਪ-ਸਟਾਪ ਮੋਡ ਵਿੱਚ ਕਿਵੇਂ ਸੈੱਟ ਕਰਨਾ ਹੈ ਅਤੇ ਜਦੋਂ ਇੱਕ ਫਰੇਮ ਆਉਂਦਾ ਹੈ ਅਤੇ ਸਹੀ ਢੰਗ ਨਾਲ ਪ੍ਰਾਪਤ ਹੁੰਦਾ ਹੈ ਤਾਂ SoC ਨੂੰ ਜਗਾਉਣ ਲਈ LPAWUR ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨਾ ਹੈ। ਇਹ ਸਾਬਕਾ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™ ਫਰੇਮ ਸੰਚਾਰਿਤ ਹੁੰਦਾ ਹੈ।

FAQ

  1. ਮੈਨੂੰ LL ਡਰਾਈਵਰਾਂ ਦੀ ਬਜਾਏ HAL ਕਦੋਂ ਵਰਤਣਾ ਚਾਹੀਦਾ ਹੈ?
    HAL ਡਰਾਈਵਰ ਉੱਚ ਪੱਧਰੀ ਅਤੇ ਫੰਕਸ਼ਨ-ਓਰੀਐਂਟਿਡ API ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦੇ ਹਨ, ਉੱਚ ਪੱਧਰੀ ਪੋਰਟੇਬਿਲਟੀ ਦੇ ਨਾਲ। ਉਤਪਾਦ ਜਾਂ ਪੈਰੀਫਿਰਲ ਜਟਿਲਤਾ ਅੰਤਮ ਉਪਭੋਗਤਾਵਾਂ ਲਈ ਲੁਕੀ ਹੋਈ ਹੈ।
    LL ਡਰਾਈਵਰ ਘੱਟ-ਲੇਅਰ ਰਜਿਸਟਰ ਪੱਧਰ API ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦੇ ਹਨ, ਬਿਹਤਰ ਓਪਟੀਮਾਈਜੇਸ਼ਨ ਦੇ ਨਾਲ ਪਰ ਘੱਟ ਪੋਰਟੇਬਲ। ਉਹਨਾਂ ਨੂੰ ਉਤਪਾਦ ਜਾਂ IP ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਡੂੰਘਾਈ ਨਾਲ ਜਾਣਕਾਰੀ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
  2. ਕੀ HAL ਅਤੇ LL ਡਰਾਈਵਰ ਇਕੱਠੇ ਵਰਤੇ ਜਾ ਸਕਦੇ ਹਨ? ਜੇਕਰ ਹਾਂ, ਤਾਂ ਕਿਹੜੀਆਂ ਰੁਕਾਵਟਾਂ ਹਨ?
    HAL ਅਤੇ LL ਡਰਾਈਵਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਸੰਭਵ ਹੈ। ਪੈਰੀਫਿਰਲ ਸ਼ੁਰੂਆਤੀ ਪੜਾਅ ਲਈ HAL ਦੀ ਵਰਤੋਂ ਕਰੋ ਅਤੇ ਫਿਰ LL ਡਰਾਈਵਰਾਂ ਨਾਲ I/O ਓਪਰੇਸ਼ਨਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ।
    HAL ਅਤੇ LL ਵਿਚਕਾਰ ਮੁੱਖ ਅੰਤਰ ਇਹ ਹੈ ਕਿ HAL ਡਰਾਈਵਰਾਂ ਨੂੰ ਓਪਰੇਸ਼ਨ ਪ੍ਰਬੰਧਨ ਲਈ ਹੈਂਡਲ ਬਣਾਉਣ ਅਤੇ ਵਰਤਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਜਦੋਂ ਕਿ LL ਡਰਾਈਵਰ ਸਿੱਧੇ ਪੈਰੀਫਿਰਲ ਰਜਿਸਟਰਾਂ 'ਤੇ ਕੰਮ ਕਰਦੇ ਹਨ। ਐੱਚ.ਏ.ਐੱਲ. ਅਤੇ ਐੱਲ.ਐੱਲ. ਨੂੰ ਮਿਲਾਉਣਾ ਸਾਬਕਾ ਵਿੱਚ ਦਰਸਾਇਆ ਗਿਆ ਹੈamples_MIX ਸਾਬਕਾamples.
  3. LL ਸ਼ੁਰੂਆਤੀ API ਨੂੰ ਕਿਵੇਂ ਸਮਰੱਥ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ?
    LL ਸ਼ੁਰੂਆਤੀ API ਅਤੇ ਸੰਬੰਧਿਤ ਸਰੋਤਾਂ (ਢਾਂਚਾ, ਲਿਟਰਲ ਅਤੇ ਪ੍ਰੋਟੋਟਾਈਪ) ਦੀ ਪਰਿਭਾਸ਼ਾ USE_FULL_LL_DRIVER ਸੰਕਲਨ ਸਵਿੱਚ ਦੁਆਰਾ ਕੰਡੀਸ਼ਨ ਕੀਤੀ ਗਈ ਹੈ।
    LL ਸ਼ੁਰੂਆਤੀ API ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੇ ਯੋਗ ਹੋਣ ਲਈ, ਇਸ ਸਵਿੱਚ ਨੂੰ ਟੂਲਚੇਨ ਕੰਪਾਈਲਰ ਪ੍ਰੀਪ੍ਰੋਸੈਸਰ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ।
  4. ਕੀ MRSUBG/LPAWUR ਪੈਰੀਫਿਰਲ ਐਕਸ ਲਈ ਕੋਈ ਟੈਮਪਲੇਟ ਪ੍ਰੋਜੈਕਟ ਹੈamples?
    ਇੱਕ ਨਵਾਂ MRSUBG ਜਾਂ LPAWUR ਸਾਬਕਾ ਬਣਾਉਣ ਲਈample ਪ੍ਰੋਜੈਕਟ, ਜਾਂ ਤਾਂ \Pr ojects\NUCLEO-WL33CC\Ex ਦੇ ਅਧੀਨ ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ ਪਿੰਜਰ ਪ੍ਰੋਜੈਕਟ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋamples\MRSUBG ਜਾਂ \Projects\NUCLEO-WL33CC\Examples\LPAWUR, ਜਾਂ ਇਹਨਾਂ ਇੱਕੋ ਡਾਇਰੈਕਟਰੀਆਂ ਦੇ ਅਧੀਨ ਕਿਸੇ ਵੀ ਉਪਲਬਧ ਪ੍ਰੋਜੈਕਟ ਤੋਂ।
  5. STM32CubeMX ਏਮਬੈਡਡ ਸੌਫਟਵੇਅਰ ਦੇ ਅਧਾਰ ਤੇ ਕੋਡ ਕਿਵੇਂ ਤਿਆਰ ਕਰ ਸਕਦਾ ਹੈ?
    STM32CubeMX ਕੋਲ STM32 ਮਾਈਕ੍ਰੋਕੰਟਰੋਲਰ ਦਾ ਬਿਲਟ-ਇਨ ਗਿਆਨ ਹੈ, ਜਿਸ ਵਿੱਚ ਉਹਨਾਂ ਦੇ ਪੈਰੀਫਿਰਲ ਅਤੇ ਸੌਫਟਵੇਅਰ ਸ਼ਾਮਲ ਹਨ, ਜੋ ਇਸਨੂੰ ਉਪਭੋਗਤਾ ਨੂੰ ਇੱਕ ਗ੍ਰਾਫਿਕਲ ਪ੍ਰਤੀਨਿਧਤਾ ਪ੍ਰਦਾਨ ਕਰਨ ਅਤੇ *.h ਜਾਂ *.c ਬਣਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। files ਉਪਭੋਗਤਾ ਦੀ ਸੰਰਚਨਾ 'ਤੇ ਅਧਾਰਤ ਹੈ।

ਸੰਸ਼ੋਧਨ ਇਤਿਹਾਸ

ਸਾਰਣੀ 3. ਦਸਤਾਵੇਜ਼ ਸੰਸ਼ੋਧਨ ਇਤਿਹਾਸ

ਮਿਤੀ ਸੰਸ਼ੋਧਨ ਤਬਦੀਲੀਆਂ
29-ਮਾਰਚ-2024 1 ਸ਼ੁਰੂਆਤੀ ਰੀਲੀਜ਼।
30-ਅਕਤੂਬਰ-2024 2 ਦਾ ਪੂਰਾ ਏਕੀਕਰਣ STM32CubeWL3 in STM32Cube. ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ:

ਹਟਾਇਆ ਗਿਆ:

  • ਪੀਸੀ ਟੂਲ, ਸਮੇਤ ਨੈਵੀਗੇਟਰ, STM32WL3 GUI, ਅਤੇ MR-SUBG ਸੀਕੁਐਂਸਰ GUI
  • WiSE-Studio IOMapper ਏਮਬੈਡਡ ਸੌਫਟਵੇਅਰ ਦੇ ਅਧਾਰ ਤੇ ਕੋਡ ਕਿਵੇਂ ਤਿਆਰ ਕਰ ਸਕਦਾ ਹੈ?
  • ਕੀ ਨੇਵੀਗੇਟਰ ਸਾਫਟਵੇਅਰ ਪੈਕੇਜ ਸਰੋਤਾਂ ਤੱਕ ਪਹੁੰਚ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ?

ਦਸਤਾਵੇਜ਼ / ਸਰੋਤ

ST STM32WL3x ਸਾਫਟਵੇਅਰ ਪੈਕੇਜ [pdf] ਹਦਾਇਤਾਂ
STM32WL3x ਸਾਫਟਵੇਅਰ ਪੈਕੇਜ, STM32WL3x, ਸਾਫਟਵੇਅਰ ਪੈਕੇਜ, ਪੈਕੇਜ

ਹਵਾਲੇ

ਇੱਕ ਟਿੱਪਣੀ ਛੱਡੋ

ਤੁਹਾਡਾ ਈਮੇਲ ਪਤਾ ਪ੍ਰਕਾਸ਼ਿਤ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ। ਲੋੜੀਂਦੇ ਖੇਤਰਾਂ ਨੂੰ ਚਿੰਨ੍ਹਿਤ ਕੀਤਾ ਗਿਆ ਹੈ *