STM32WL3x-loigo

STM32WL3x 軟體包

STM32WL3x-軟體包-產品

規格

  • 產品名稱:STM32CubeWL3軟體包
  • 相容性:STM32WL3x 微控制器
  • 主要特點:
    • 低層 (LL) 和硬體抽象層 (HAL) API
    • SigfoxTM、FatFS 和 FreeRTOSTM 核心中間件元件
    • 應用與演示

產品使用說明

入門
若要開始使用 STM32CubeWL3 軟體包,請依照下列步驟操作:

  1. 從官方下載軟體包 web地點。
  2. 安裝必要的開發環境(例如STM32CubeIDE、EWARM、MDK-ARM)。
  3. 參考前一篇amp提供指導文件和應用程式。

STM32CubeWL3架構結束view
STM32CubeWL3軟體包圍繞著三個主要層級構建

  • 0 級: 硬體抽象層 (HAL) 和 BSP 驅動程式。
  • 1 級: 應用程式、函式庫和基於協定的元件。

常見問題 (FAQ)

Q:STM32CubeWL3軟體包的主要特點是什麼?
答:主要功能包括低層和 HAL API、SigfoxTM、FatFS、FreeRTOSTM 核心等中間件元件、應用程式和演示。

介紹

STM32Cube 是意法半導體的原創舉措,旨在透過減少開發工作量、時間和成本來顯著提高設計人員的工作效率。 STM32Cube 涵蓋整個 STM32 產品組合。

STM32Cube 包括:

  • 一套使用者友善的軟體開發工具,涵蓋專案開發從構思到實現的整個過程,其中]其中包括:
    • STM32CubeMX,一種圖形軟件配置工具,允許使用圖形嚮導自動生成 C 初始化代碼
    • STM32CubeIDE,一款集外設配置、代碼生成、代碼編譯、調試功能於一體的開發工具
    • STM32CubeCLT,一體化命令列開發工具集,具有程式碼編譯、電路板程式設計和除錯功能
    • STM32CubeProgrammer (STM32CubeProg),圖形和命令行版本的編程工具
    • STM32CubeMonitor(STM32CubeMonitor、STM32CubeMonPwr、STM32CubeMonRF、STM32CubeMonUCPD),強大的監控工具,可即時微調STM32應用程式的行為和效能
  • STM32Cube MCU 和 MPU 軟體包,特定於每個微控制器和微處理器系列的綜合嵌入式軟體平台(例如用於 STM32WL3x 產品線的 STM32CubeWL3),其中包括:
    • STM32Cube 硬件抽象層 (HAL),確保 STM32 產品組合的最大可移植性
    • STM32Cube 低層 API,透過使用者對硬體的高度控制確保最佳效能和佔用空間
    • 一組一致的中介軟體元件,例如 FreeRTOS™ 核心、FatFS 和 Sigfox™
    • 帶有全套外圍設備和應用程序的所有嵌入式軟件實用程序amp萊斯
  • STM32Cube 擴展包,其中包含嵌入式軟件組件,可通過以下方式補充 STM32Cube MCU 和 MPU 包的功能:
    • 中間件擴展和應用層
    • Examp在某些特定的 STMicroelectronics 開發板上運行的文件

本使用手冊介紹如何開始使用 STM32CubeWL3 MCU 軟體包。
第 2 節介紹了 STM32CubeWL3 的主要特性,第 3 節提供了概述view 其架構和 MCU 封裝結構。

一般資訊

STM32CubeWL3 在基於 Arm® Cortex®‑M32+ 處理器的 STM3WL0x 產品線微控制器上運行 sub-GHz 演示應用程序,包括 Sigfox™ 二進位。
STM32WL3x 微控制器嵌入了意法半導體最先進的 sub-GHz 相容射頻無線電外設,針對超低功耗和卓越的無線電性能進行了優化,並具有無與倫比的電池壽命。
筆記:Arm 是 Arm Limited(或其子公司)在美國和/或其他地方的註冊商標。

STM32CubeWL3主要特點

  • STM32CubeWL3 MCU 軟體套件在基於 Arm® Cortex®‑M32+ 處理器的 STM32 0 位元微控制器上運作。它將開發 STM32WL3x 產品線微控制器應用程式所需的所有通用嵌入式軟體元件收集在一個軟體包中。
  • 該軟體包包括覆蓋微控制器硬體的低層 (LL) 和硬體抽象層 (HAL) API,以及一組廣泛的擴展amp在意法半導體主機板上運作的檔案。為了方便用戶,HAL 和 LL API 以開源 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 週邊驅動程式
    • 低層驅動程式
  • 基本週邊使用方法amp萊斯。

電路板支援包 (BSP)
此層提供了一組與硬體板中的硬體元件相關的 API(例如 LED、按鈕和 COM 驅動程式)。它由兩個部分組成:

  • 成分:
    這是與板上外部裝置相關的驅動程序,而不是與 STM32 相關的驅動程式。元件驅動程式為 BSP 驅動程式外部元件提供特定的 API,並且可以移植到任何其他板上。
  • BSP 驅動程式:

它允許將組件驅動程式連結到特定的板,並提供一組用戶友好的 API。 API命名規則為BSP_FUNCT_Action()。
Examp檔案:BSP_LED_Init()、BSP_LED_On()
BSP 基於模組化架構,只需實現低階例程即可輕鬆移植到任何硬體上。

硬體抽象層 (HAL) 和低層 (LL)
STM32CubeWL3 HAL 和 LL 是互補的,涵蓋了廣泛的應用需求:

  • HAL 驅動程式提供高級的功能導向的高度可移植的 API。它們向最終用戶隱藏了 MCU 和周邊設備的複雜性。
    HAL 驅動程式提供通用的多實例面向功能的 API,透過提供即用型流程來簡化使用者應用程式的實作。對於前amp例如,對於通訊週邊(I2C、UART 等),它提供了 API,允許初始化和配置週邊設備、管理基於輪詢、中斷或 DMA 過程的資料傳輸,以及處理通訊期間可能出現的通訊錯誤。 HAL 驅動程式 API 分為兩類:
  1. 通用API,為所有STM32系列微控制器提供通用和通用功能。
  2. 擴展 API,為特定係列或特定部件號提供特定和自訂的功能。
  • 低層API提供暫存器層級的低層API,優化較好,但可移植性較差。他們需要對 MCU 和周邊規格有深入的了解。
    LL 驅動程式旨在提供快速、輕量級、面向專家的層,該層比 HAL 更接近硬體。與 HAL 相反,LL API 不提供給優化存取不是關鍵功能的周邊,或需要繁重的軟體配置或複雜的上層堆疊的周邊。

LL 驅動程式具有以下特點:

  • 根據資料結構中指定的參數初始化外圍主要功能的一組函數。
  • 一組函數,用於使用與每個欄位對應的重置值填充初始化資料結構。
  • 週邊去初始化功能(外設暫存器恢復為預設值)。
  • 一組用於直接和原子暫存器存取的內聯函數。
  • 完全獨立於 HAL 並能夠在獨立模式下使用(無需 HAL 驅動程式)。
  • 全面覆蓋支援的周邊功能。

基本週邊使用方法amp萊斯
該層包含前amp僅使用 HAL 和 BSP 資源在 STM32 週邊裝置上建置的檔案。
示範前amples 也可用於顯示更複雜的 examp具有特定週邊裝置的場景,例如 MRSUBG 和 LPAWUR。

1級
此層分為兩個子層:

  • 中介軟體組件
  • Examp基於中介軟體組件的文件

中介軟體組件
中介軟體是一組涵蓋 FreeRTOS™ 核心、FatFS 和 Sigfox™ 協定庫的函式庫。這層元件之間的橫向互動是透過呼叫特色API來完成的。
與低層驅動程式的垂直互動是透過庫系統呼叫介面中實現的特定回調和靜態巨集來完成的。
各個中間件組件的主要特點如下:

  • FreeRTOS™ 核心:實現專為嵌入式系統設計的即時作業系統 (RTOS)。
  • Sigfox™:實作符合 Sigfox™ 協定網路的 Sigfox™ 協定庫,並包含用於針對 RF Sigfox™ 工具進行測試的 RF 測試協定庫。
  • FatFS:實作通用FAT file 系統模組。

Examp基於中介軟體組件的文件
每個中間件組件都附帶一個或多個 examp文件,也稱為應用程序,展示瞭如何使用它。整合前amp也提供了使用多個中間件組件的文件。

STM32CubeWL3韌體包完畢view

支援的 STM32WL3x 設備和硬體
STM32Cube 提供圍繞通用架構建構的高度可移植的硬體抽象層 (HAL)。它允許建構層原則,例如使用中間件層來實現其功能,而無需深入了解使用的 MCU。這提高了庫程式碼的可重複使用性,並確保輕鬆移植到其他裝置。

  • 此外,憑藉其分層架構,STM32CubeWL3 為所有 STM32WL3x 產品線提供全面支援。
  • 使用者必須僅在 stm32wl3x.h 中定義正確的巨集。

表 1 顯示了根據所使用的 STM32WL3x 產品線裝置定義的巨集。該巨集也必須在編譯器預處理器中定義。
表 1. STM32WL3x 產品線的宏

巨集定義於 stm32wl3x.h STM32WL3x 產品線裝置
stm32wl33 STM32WL33xx 微控制器

STM32CubeWL3具有豐富的擴充功能amp各個層級的文件和應用程序,使您可以輕鬆理解和使用任何 HAL 驅動程式或中間件組件。這些前amp文件在表 2 列出的 STMicroelectronics 板上運行。

木板 STM32WL3x 板支援的設備
NUCLEO-WL33CC1 STM32WL33CC
NUCLEO-WL33CC2 STM32WL33CC

STM32CubeWL3 MCU 軟體包可以在任何相容硬體上運作。使用者只需更新 BSP 驅動程式即可移植提供的 examp板上的文件,如果它們具有相同的硬體功能(例如 LED 或按鈕)。

韌體包結束view
STM32CubeWL3 MCU 封裝解決方案以一個 zip 封裝形式提供,其結構如圖 3 所示。
圖 3. STM32CubeWL3 韌體包結構

STM32WL3x-軟體包 (4)

警告:

用戶不得修改組件 files。使用者只能編輯 \Projects 來源。
對於每個板,一組前amp文件提供了 EWARM、MDK-ARM 和 STM32CubeIDE 工具鏈的預先配置專案。
圖 4 顯示了 NUCLEO-WL33CCx 板的專案結構。 STM32WL3x-軟體包 (5)

前任amp文件根據其適用的 STM32CubeWL3 等級進行分類。它們的命名如下:

  • 0級前amples 稱為 Examp萊斯,前amples_LL 和 Examples_MIX。它們分別使用 HAL 驅動程式、LL 驅動程式以及 HAL 和 LL 驅動程式的混合,無需任何中間件元件。示範前amples 也可。
  • 1級前amp文件稱為應用程式。它們提供了每個中間件組件的典型用例。

可以使用 Templates 和 Templates_LL 目錄中提供的範本項目快速建立給定板的任何韌體應用程式。

Examp萊斯,前amples_LL 和 Examples_MIX 具有相同的結構:

  • \Inc 包含所有標頭的資料夾 files.
  • \Src 包含原始碼的資料夾。
  • \EWARM、\MDK-ARM 和 \STM32CubeIDE 資料夾包含每個工具鏈的預先配置項目。
  • readme.md 和 readme.html 描述 examp文件行為和使其發揮作用所需的環境。

STM32CubeWL3 入門

運行第一個前任ample
本節說明執行第一個 ex 有多簡單ampSTM32CubeWL3 內的文件。它使用在 NUCLEO-WL33CC1 板上運行的簡單 LED 切換的生成進行說明:

  1. 下載 STM32CubeWL3 MCU 軟體包。
  2. 將其解壓縮,或執行安裝程式(如果提供)到您選擇的目錄中。
  3. 確保不要修改圖 3.STM32CubeWL3 韌體包結構中所示的包結構。請注意,也建議將套件複製到靠近根磁碟區的位置(即 C:\ST 或 G:\Tests),因為某些 IDE 在路徑太長時會遇到問題。

如何運行 HAL example
載入並運行 ex 之前ample,強烈建議閱讀examp自述文件 file 對於任何特定配置。

  1. 瀏覽至 \Projects\NUCLEO-WL33CC\Examp萊斯。
  2. 開啟 \GPIO,然後開啟 \GPIO_EXTI 資料夾。
  3. 使用首選工具鏈打開項目。快速結束view 關於如何開啟、建置和運行 examp下面給出了具有支援的工具鏈的文件。
  4. 全部重建 files 並將圖像載入到目標記憶體中。
  5. 運行前amp勒。欲了解更多詳情,請參閱前amp自述文件 file.

開啟、建置和運行 examp文件與每個支援的工具鏈,請按照以下步驟操作:

  • 溫暖:
  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:在 Project Explorer 視窗中選擇項目,然後按一下
    [項目]>[建置專案]選單。
  6.  運行程式:[運行]>[調試(F11)]。

開發自訂應用程式

使用STM32CubeMX開發或更新應用程式
在STM32Cube MCU包中,幾乎所有項目都包含amp檔案是使用 STM32CubeMX 工具產生的,用於初始化系統、週邊和中間件。

直接使用現有的項目exampSTM32CubeMX 工具中的檔案需要 STM32CubeMX 6.12.0 或更高版本:

  • 安裝 STM32CubeMX 後,開啟並根據需要更新建議的項目。
    打開現有項目的最簡單方法是雙擊 *.ioc file 以便STM32CubeMX自動開啟專案及其原始碼 files。 STM32CubeMX產生此類專案的初始化原始碼。
  • 主要應用程式原始碼包含在註解“USER CODE BEGIN”和“USER CODE END”中。如果修改了周邊選擇和設置,STM32CubeMX 會更新程式碼的初始化部分,同時保留主應用程式原始碼。

若要使用 STM32CubeMX 開發自訂項目,請遵循逐步流程:

  1. 使用引腳衝突求解器、時脈樹設定幫助器、功耗計算器和執行 MCU 週邊配置的實用程式(例如 GPIO 或 USART)配置所有必需的嵌入式軟體。
  2. 根據所選配置產生初始化 C 程式碼。該程式碼可以在多種開發環境中使用。用戶代碼保留在下一次代碼生成時。
    有關 STM32CubeMX 的更多信息,請參閱用於 STM32 配置和初始化 C 代碼生成的用戶手冊 STM32CubeMX (UM1718)。

驅動程式應用

哈爾應用程式
本節介紹使用 STM32CubeWL3 建立自訂 HAL 應用程式所需的步驟:

  1. 創建一個專案
    若要建立新項目,請從 \Projects\< STM32xxx_yyy>\Templates 下為每個板提供的範本項目開始,或從 \Projects\ 下的任何可用項目開始\前任amp文件或\項目\ \應用程式(其中指板名稱)。 Template 專案提供了一個空的主循環函數。不過,這是了解 STM32CubeWL32 專案設定的一個很好的起點。此模板具有以下特點:
    • 它包含 HAL 原始碼、CMSIS 和 BSP 驅動程序,它們是在給定板上開發程式碼所需的最小元件集。
    • 它包含所有韌體元件的包含路徑。
    • 它定義了受支援的 STM32WL3x 產品線設備,允許正確配置 CMSIS 和 HAL 驅動程式。
    • 它為用戶提供隨時可用的 file預配置如下:
    • HAL 使用 Arm® 核心 SysTick 使用預設時基進行初始化。
    • SysTick ISR 是為了 HAL_Delay() 目的而實現的。
      注意:將現有項目複製到另一個位置時,請確保更新所有包含的路徑。
  2. 配置韌體組件
    HAL 和中間件元件使用標頭中宣告的巨集 #define 提供一組建置時設定選項 file。模板配置 file 每個元件內提供,必須複製到專案資料夾(通常是配置 file 名為xxx_conf_template.h,複製到專案資料夾時需要去掉片段_template)。配置 file 提供足夠的資訊來了解每個配置選項的影響。為每個組件提供的文件中提供了更詳細的資訊。
  3. 啟動HAL庫
    跳到主程式後,應用程式程式碼必須呼叫 HAL_Init() API 來初始化 HAL 程式庫,該程式庫執行以下任務:
    • 配置快閃記憶體預取和 SysTick 中斷優先權(透過 stm3 2wl3x_hal_conf.h 中定義的巨集)。
    •  配置 SysTick 以依照 stm32wl3x_hal_conf.h 中定義的 SysTick 中斷優先權 TICK_INT_PRIO 每毫秒產生一個中斷。
    • 將 NVIC 組優先權設定為 0。
    • 呼叫stm32wl3x_hal_msp.c用戶中定義的HAL_MspInit()回呼函數 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. 開發應用程式
    此時此刻tage、系統準備就緒,可以開始使用者應用程式程式碼開發。
    HAL 提供直覺且隨時可用的 API 來配置週邊。它支援輪詢、中斷和 DMA 程式設計模型,以滿足任何應用要求。關於如何使用各個外設的更多詳細信息,請參考豐富的exampSTM32CubeWL3 MCU 套件中提供了該檔案集。

警告:
在預設的 HAL 實作中,SysTick 定時器用作時基:它以固定的時間間隔產生中斷。如果從週邊 ISR 程序呼叫 HAL_Delay(),請確保 SysTick 中斷的優先權高於週邊中斷(數字上低於週邊中斷)。否則,呼叫者 ISR 進程是
被阻止。影響時基底配置的函數會宣告為 __weak,以便在使用者進行其他實作時可以覆寫 file (使用通用定時器,例如ample,或其他時間源)。
有關更多詳細信息,請參閱 HAL_TimeBase examp勒。

法學碩士申請
本節介紹使用 STM32CubeWL3 建立自訂 LL 應用程式所需的步驟。

  1. 創建一個專案
    若要建立新項目,請從 \Projects\ 下為每個板提供的 Templates_LL 項目開始\Templates_LL 或來自 \Projects\ 下的任何可用項目\前任amp萊斯_LL(指板名稱,例如 NUCLEO-WL32CC33)。
    模板專案提供了一個空的主循環函數,這是了解 STM32CubeWL3 專案設定的良好起點。此模板主要特點如下:
    • 它包含 LL 和 CMSIS 驅動程式的原始程式碼,它們是在給定板上開發程式碼所需的最小元件集。
    • 它包含所有必需韌體元件的包含路徑。
    • 它選擇受支援的 STM32WL3x 產品線元件,並允許正確配置 CMSIS 和 LL 驅動程式。
    • 它為用戶提供了即用型 file預先配置如下:
    • main.h:LED和USER_BUTTON定義抽象層。
    • main.c:最大頻率的系統時脈配置。
  2. 移植 LL examp樂:
    • 複製/貼上 Templates_LL 資料夾 - 以保留初始來源 - 或直接更新現有的 Templates_LL 專案。
    • 然後,移植主要包括替換 Templates_LL file前任的amples_LL 目標項目。
    • 保留所有電路板特定零件。為了清楚起見,電路板特定零件以特定標記 tags:
      STM32WL3x-軟體包 (1)

因此,主要的移植步驟如下:

  • 替換stm32wl3x_it.h file.
  • 替換stm32wl3x_it.c file.
  • 替換main.h file 並更新它:將 LL 模板的 LED 和用戶按鈕定義保留在板特定配置下 tags.
  • 替換main.c file 並更新它:
  • 將 SystemClock_Config() LL 模板函數的時脈配置保留在 BOARD SPECIFIC CONFIGURATION 下 tags.
  • 根據 LED 定義,將每個 LDx 替換為另一個可用的 LDy file main.h。

透過這些修改,前ample 在目標板上運行。

RF 應用、演示和擴展amp萊斯
不同類型的射頻應用、演示和實驗amp這些文件可在 STM32CubeWL3 軟體包中找到。它們列在下面的兩個部分。

Sub-GHz 擴展amp萊斯和示威
這些前amp這些文件示範了 MRSUBG 和 LPAWUR 無線電週邊的主要功能。這些前amp可以在以下位置找到這些文件:

  • 項目\NUCLEO-WL33CC\Examp萊斯\MRSUBG
  • 項目\NUCLEO-WL33CC\Examp萊斯\LPAWUR
  • 項目\NUCLEO-WL33CC\演示\MRSUBG
  • 項目\NUCLEO-WL33CC\演示\LPAWUR

每個前任amp文件或演示通常由兩個名為 Tx 和 Rx 的程式組成,分別充當發送器和接收器:

  • Examp萊斯/MRSUBG
    • MRSUBG_802_15_4:標準 802.15.4 定義的物理層的實現。它顯示如何配置無線電來傳輸或接收 802.15.4 資料包。
    • MRSUBG_BasicGeneric:STM32WL3x MR_SUBG 基本資料包的交換。
    • MRSUBG_Chat:一個簡單的應用程序,展示如何在同一裝置上使用 Tx 和 Rx。
    • MRSUBG_DatabufferHandler:前一個amp該檔案顯示如何從資料緩衝區 0 和 1 進行交換。
    • MRSUBG_Sequencer AutoAck:前一個amp自動傳輸和接收資料包確認 (ACK) 的檔案。
    • MRSUBG_WMBusSTD:WM 匯流排訊息的交換。
    • WakeupRadio:前任amp用於測試 LPAWUR 無線電週邊的文件。
  • 演示/MRSUBG
    • MRSUBG_RTC_Button_TX:這個前amp該文件展示如何將 SoC 設定為深度停止模式,並配置 MRSUBG 以透過按 PB2 發送幀或在 RTC 定時器到期後喚醒 SoC。
    • MRSUBG_Sequencer_Sniff:這個前amp檔案顯示如何設定 MRSUBG 定序器以在嗅探模式下運作。這個前任ample 示範了接收器端,需要另一個裝置作為傳送器。
    • MRSUBG_Timer:應用程式以不同的時間間隔安排多個 MRSUBG 計時器實例(具有自動重載)。
    • MRSUBG_WakeupRadio_Tx:這個前amp文件解釋如何將 SoC 設定為深度停止模式,並配置 MRSUBG 以透過按 PB2 發送幀來喚醒 SoC。這個前任amp文件示範了發射器端,需要另一個裝置作為 LPAWUR 接收器。接收者前amp該檔案位於 NUCLEO-WL33CC\Demonstrations\LPAWUR\LPAWUR_WakeupRad io_Rx 資料夾下。
  • 示威/LPAWUR
    • LPAWUR_WakeupRadio_Rx:這個前amp該檔案解釋如何將 SoC 設定為深度停止模式,並配置 LPAWUR 以在幀到達並正確接收時喚醒 SoC。這個前任ample 示範了接收器端,需要另一個裝置作為傳送器。發射機前amp該檔案位於 NUCLEO-WL33CC\Demonstrations\MRSUBG\MRSUBG_WakeupRad io_Tx 資料夾下。

Sigfox™ 應用
這些應用程式展示如何實作 Sigfox™ 場景並使用可用的 Sigfox™ API。它們位於專案路徑 Projects\NUCLEO-WL33CC\Applications\Sigfox\ 中:

  • Sigfox_CLI:此應用程式示範如何使用命令列介面 (CLI) 傳送使用 Sigfox™ 協定傳送訊息並執行預先認證測試的命令。
  • Sigfox_PushButton:此應用程式可評估 STM32WL33xx Sigfox™ 裝置無線電功能。按 PB1 會傳輸測試 Sigfox™ 訊框。

常問問題

  1. 什麼時候應該使用 HAL 而不是 LL 驅動程式?
    HAL 驅動程式提供高級且功能導向的 API,具有高度的可攜性。對於最終用戶來說,產品或週邊設備的複雜性是隱藏的。
    LL 驅動程式提供低層暫存器級 API,具有更好的最佳化但可移植性較差。他們需要深入了解產品或 IP 規格。
  2. HAL 和 LL 驅動程式可以一起使用嗎?如果是,有哪些限制?
    可以同時使用 HAL 和 LL 驅動程式。使用 HAL 進行週邊初始化階段,然後使用 LL 驅動程式管理 I/O 操作。
    HAL 和 LL 之間的主要區別在於 HAL 驅動程式需要建立和使用句柄進行操作管理,而 LL 驅動程式則直接操作外設暫存器。 Ex 中說明了混合 HAL 和 LLamples_MIX 前amp萊斯。
  3. 如何啟用 LL 初始化 API?
    LL 初始化 API 和關聯資源(結構、文字和原型)的定義由 USE_FULL_LL_DRIVER 編譯開關決定。
    為了能夠使用 LL 初始化 API,請在工具鏈編譯器預處理器中新增此開關。
  4. 有沒有MRSUBG/LPAWUR週邊擴充的模板工程amp萊斯?
    建立新的 MRSUBG 或 LPAWUR example 項目,可從 \Projects\NUCLEO-WL33CC\Ex 下提供的骨架項目開始amples\MRSUBG 或 \Projects\NUCLEO-WL33CC\Examples\LPAWUR,或來自這些相同目錄下的任何可用項目。
  5. STM32CubeMX如何產生基於嵌入式軟體的程式碼?
    STM32CubeMX 具有 STM32 微控制器的內建知識,包括其周邊和軟體,這使得它能夠向使用者提供圖形表示並產生 *.h 或 *.c file基於使用者的配置。

修訂歷史

表 3. 文件修訂歷史記錄

日期 修訂 變化
29 年 2024 月 XNUMX 日 1 初次發布。
30 年 2024 月 XNUMX 日 2 全面整合 STM32CubeWL3 in STM32立方體。更新:

刪除:

  • 電腦工具, 包括 航海家, STM32WL3 圖形使用者介面, 和 MR-SUBG 音序器 GUI
  • WiSE-Studio IOMapper 如何產生基於嵌入式軟體的程式碼?
  • Navigator 是否允許存取軟體包資源?

文件/資源

ST STM32WL3x 軟體包 [pdf] 指示
STM32WL3x 軟體包, STM32WL3x, 軟體包, 軟體包

參考

發表評論

您的電子郵件地址不會被公開。 必填欄位已標記 *