0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

實戰(zhàn)經(jīng)驗 | 一步一步創(chuàng)建STM32WBA BLE_Custom工程

STM32單片機 ? 來源:未知 ? 2023-11-30 13:25 ? 次閱讀


關(guān)鍵詞:STM32WBA,BLE,定制化


目錄預覽

1、介紹

2使用CubeMX在STM32WBA上構(gòu)建 Bluetooth Low Energy 應用

3、服務和特征配置

4、工具

5、NUCLEO-WBA52CG 的 CubeMX 初始化

6、驗證藍牙基本連接

7、使能串口日志追蹤

8、小結(jié)


01

介紹


STM32WBA 是 ST 最新一代的 BLE 芯片。該芯片已經(jīng)獲得 STM32CubeMX 工具的支持,用戶可使用 STM32CubeMX 的圖形化界面、快速生成具備 IO 配置、時鐘配置、外設配置、中間件使用配置、BLE 服務配置等內(nèi)容的基礎源碼工程。


本文檔將指導用戶如何使用 STM32CubeMX 軟件一步步生成基于 STM32WBA52MCU 的一個源碼工程;該工程實現(xiàn)了 BLE 外設功能、并具有定制化的 BLE 服務。使用STM32WBA 系列其他芯片也可以參考此文檔的步驟構(gòu)建對應的基礎源碼工程。



02

使用CubeMX在STM32WBA上構(gòu)建 Bluetooth Low Energy 應用


將 STM32CubeMX 生成的源碼工程進行簡單修改后,便可運行在 STM32WBA Nucleo 板上、實現(xiàn) BLE 外設功能。


BLE 外設充當 GATT 服務器角色,手機 APP(ST BLE ToolBox)充當 GATT 客戶端角色,他們之間可以進行數(shù)據(jù)收發(fā)。


圖1.通信示意圖


03

服務和特征配置


該 GATT 服務器公開了一個定制化的服務(SerialPortService)并包含三個特征:

特征 1 具有 Notify 屬性,可發(fā)送數(shù)據(jù)給手機

特征 2 具有 Write without response 屬性,可接收手機的數(shù)據(jù)

特征 3 具有 Read 屬性,可接受手機的讀請求并發(fā)送響應數(shù)據(jù)包


服務器的服務和特征配置列舉如下 :


表1. 服務和特征配置


04

工具


4.1. 軟件工具


要制作和使用這個項目,完成應用程序所需的軟件工具是:

? STM32CubeMX 軟件 (v6.8.0 以上)

? STM32CubeWBA MCU Package (v1.0.0 以上)

? IDE: STM32CubeIDE or IAR

? 串口終端 (TeraTerm)

? 手機應用程序 STBLEToolbox


4.2. 硬件工具


還需要一個 STM32WBA Nucleo 板和一個 micro-B 到 Type-A USB 電纜。


圖2.硬件工具


05

NUCLEO-WBA52CG 的 CubeMX 初始化


5.1. CubeMX 初始化


打開 CubeMX 軟件及 MCU 選擇器,打開的過程可能會進行數(shù)據(jù)庫更新,耐心等待更新完成即可。另外,確保 CubeMX 是 6.8.0 以上版本,否則將找不到 STM32WBA 系列芯片。


圖3.芯片開始一個工程配置


進入 MCU 選擇器頁面后,按照下圖的步驟選中我們需要的開發(fā)板。


圖4.選擇對應的芯片型號


  1. 選擇系列分類

  2. 選擇 STM32WBA 系列

  3. 選擇對應的 STM32WBA 芯片型號

  4. 選擇 Start Project


圖5. 根據(jù)應用需求選擇是否使能 TrustZone


圖6. 切換到“Project Manager”頁,命名工程和選擇工程保存路徑和設置堆棧


用戶可以根據(jù)自己的應用需求對工程名稱路徑,IDE 類型以及堆和棧等進行設置,上圖給了一個參考示例。配置完成后,選中 File > Save Project 以保存工程配置(保存為.ioc 文件)。


5.2. 基本外設的配置


5.2.1. 切換到配置 SW 調(diào)試口


圖7. 配置 SW 調(diào)試口


5.2.2. 配置基本 RCC


圖8. 配置 RCC


5.3. STM32_WPAN BLE 依賴的外設的配置


STM32WBA 的 STM32_WPAN(BLE)的依賴項比較多。在配置的時候,我們無需死記需要配置的項目,可以將鼠標移到 STM32_WPAN 模塊中,停留 2 秒鐘,則會出現(xiàn)提示信息,用戶可根據(jù)這些提示信息來依次配置 STM32_WPAN BLE 需要的模塊。


STM32_WPAN BLE 模塊依賴的模塊包括:ADC、CRC、RAMCFG、ICACHE、RNG、RF、和 RTC。當用戶完成一個模塊的配置后,鼠標光標回到 WPAN 模塊時,提示信息會繼續(xù)指導用戶仍然需要配置的模塊,直到全部模塊配置完畢。


圖9. 根據(jù)提示信息來依次配置 STM32_WPAN


5.3.1. 配置 ADC


圖10. 配置 ADC


5.3.2. 配置 CRC


圖11. 根據(jù)提示配置下一個模塊(CRC)


圖12. 配置 CRC


5.3.3. 配置 RAMCFG


圖13. 配置 RAM


5.3.4. 配置 ICACHE


圖14. 配置 ICACHE


5.3.5. 配置 RNG


圖15. 配置 RNG


5.3.6. 配置 RF


圖16. 配置 RF


5.3.7. 配置 RTC


圖17. 配置 RTC 部分 1


圖18. 配置 RTC 部分 2


5.3.8. 配置 STM32_WPAN


當 WPAN 依賴的模塊全部配置完畢,我們便可以開始 WPAN 的配置:


圖19. 配置 STM32_WPAN


5.4. BLE GAP 和 GATT 配置


5.4.1. 配置 GAP


圖20. 配置廣播數(shù)據(jù)


5.4.2. 配置 GATT 服務


圖21. 配置 GATT(添加服務)


圖22. 配置 GATT(對服務進行定制化配置)


5.4.3. 配置自定義服務的特征 1(上報數(shù)據(jù)特征)


圖23. 配置上報數(shù)據(jù)特征


5.4.4. 配置自定義服務的特征 2(寫數(shù)據(jù)特征)


圖24. 配置寫數(shù)據(jù)特征


5.4.5. 配置自定義服務的特征 3(讀數(shù)據(jù)特征)


圖25. 配置讀數(shù)據(jù)特征


5.5. 其他配置與代碼生成


5.5.1. 進入“Clock Configuration”頁面,按下圖進行時鐘配置


圖26. 配置時鐘


5.5.2. 配置初始化函數(shù)


圖27. 配置初始化函數(shù)


5.5.3. 根據(jù)配置生成工程代碼,點擊“GENERATE CODE”按鈕,并等待源碼工程的生成。點“Open Folder”后,可看到如下代碼工程目錄:


圖28. 根據(jù)配置生成工程代碼


06

驗證藍牙基本連接


本文演示的是 IAR 工程的生成,用戶也可生成 CUBEIDE 工程。


打開 IAR 工程、用戶還需要手工增加代碼以開啟廣播,具體為:在 STM32_WPAN > App > app_ble.c > void APP_BLE_Init(void) 函數(shù)的尾部增加下圖所示的函數(shù):



然后編譯、下載并復位,使代碼運行起來。


使用 ST BLE ToolBox 掃描,并連接該外設,可驗證我們上面的服務配置是否正確:


圖29. 驗證基本連接


07

使能串口日志追蹤


7.1. 當用戶需要使能串口 LOG 輸出功能時,可重新回到 CubeMX 的界面,進行串口的配置:


圖30. 配置串口


圖31. 配置串口 DMA


7.2. 為串口配置 GPDMA


圖32. 給串口配置 GPDMA TX


圖33. 給串口配置 GPDMA RX


圖34. 配置串口追蹤 1


圖35. 配置串口追蹤 2


圖36. 使能串口中斷


圖37. 配置串口注冊 callback


完成以上配置后,可再次點擊“GENERATE CODE”生成新的代碼。新的代碼會覆蓋掉工程中舊的代碼,但不會覆蓋工程中的用戶代碼部分。


7.3. 添加代碼、開啟串口日志追蹤


新的代碼生成后,還要再手工添加一些代碼:


在 app_conf.h 中添加宏定義“CFG_DBG_SUPPORTED”以及在 main.c 中添加函數(shù)RNG_KERNEL_CLK_OFF()



7.4. 驗證串口日志追蹤功能


驗證串口日志的方法比較簡單,直接打開串口助手,選擇好對應的串口,然后設置波特率為 115200,無奇偶校驗,數(shù)據(jù)為 8bit,1 位停止位。


圖38. 配置串口終端


7.4.1. 驗證讀特征


驗證讀特征可以在代碼中添加如下代碼(每次讀取數(shù)據(jù),將數(shù)值加一后發(fā)送出去)



7.4.2. 驗證寫和 Notify(上報數(shù)據(jù))特征


驗證寫特征和上報數(shù)據(jù)特征可以一起進行。當收到寫特征的數(shù)據(jù)時,直接將數(shù)據(jù)更新到上報數(shù)據(jù)特征中提交給 Client 端,如下圖所示,其中主要修改了兩個 case:

一個是允許寫,一個是將收到的數(shù)據(jù)寫回去。



7.4.3. 驗證日志追蹤


圖39. 驗證藍牙功能串口日志


08

小結(jié)


本文介紹了如何從芯片開始一步一步配置一個 BLE 工程,實際用戶在配置自己的項目時可以自行根據(jù)自己的項目需求而做相應的修改。


完整內(nèi)容請點擊“閱讀原文”下載原文檔。



原文標題:實戰(zhàn)經(jīng)驗 | 一步一步創(chuàng)建STM32WBA BLE_Custom工程

文章出處:【微信公眾號:STM32單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6040

    文章

    44594

    瀏覽量

    636954
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10915

    瀏覽量

    356778

原文標題:實戰(zhàn)經(jīng)驗 | 一步一步創(chuàng)建STM32WBA BLE_Custom工程

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    提升開關(guān)電源效率的理論分析與實戰(zhàn)經(jīng)驗

    在這里有電源技術(shù)干貨、電源行業(yè)發(fā)展趨勢分析、最新電源產(chǎn)品介紹、眾多電源達人與您分享電源技術(shù)經(jīng)驗,關(guān)注我們,與中國電源行業(yè)共成長! 提升開關(guān)電源效率的理論分析與實戰(zhàn)經(jīng)驗 引言 開關(guān)電源設計中,為獲得
    的頭像 發(fā)表于 01-09 10:04 ?232次閱讀
    提升開關(guān)電源效率的理論分析與<b class='flag-5'>實戰(zhàn)經(jīng)驗</b>

    如果需要將DDC112U設置為非連續(xù)模式工作,應該如何一步一步正確地設置芯片?

    或狀態(tài)8,如果沒有CONV的切換發(fā)生,是否會直停留在上電時的這個狀態(tài)?如果需要將DDC112U設置為非連續(xù)模式工作,應該如何一步一步正確地設置芯片?
    發(fā)表于 01-09 07:43

    沙子變芯片,一步步帶你走進高科技的微觀世界

    在科技飛速發(fā)展的今天,芯片作為現(xiàn)代科技的核心元器件,其制造過程復雜且充滿挑戰(zhàn)。芯片不僅推動了信息技術(shù)、人工智能、物聯(lián)網(wǎng)等領域的進步,還成為衡量個國家科技實力的重要指標。然而,芯片制造并非易事,從沙子到芯片的每一步都充滿了技術(shù)、資金和人才的考驗。本文將詳細解析芯片制造的全
    的頭像 發(fā)表于 12-19 10:44 ?325次閱讀
    沙子變芯片,<b class='flag-5'>一步步</b>帶你走進高科技的微觀世界

    英特爾將進一步分離芯片制造和設計業(yè)務

    面對公司成立50年來最為嚴峻的挑戰(zhàn),英特爾宣布了項重大戰(zhàn)略調(diào)整,旨在通過進一步分離芯片制造與設計業(yè)務,重塑競爭力。這決策標志著英特爾在應對行業(yè)變革中的堅定步伐。
    的頭像 發(fā)表于 09-19 16:48 ?353次閱讀

    通過展頻進一步優(yōu)化EMI

    電子發(fā)燒友網(wǎng)站提供《通過展頻進一步優(yōu)化EMI.pdf》資料免費下載
    發(fā)表于 09-04 09:32 ?1次下載
    通過展頻進<b class='flag-5'>一步</b>優(yōu)化EMI

    用XDS200仿真PGA900時候,單步執(zhí)行程序PC支持并沒有按照C語言一步一步執(zhí)行,為什么?

    我在用XDS200仿真PGA900時候,程序能正常引導到main,單步執(zhí)行程序, PC支持并沒有按照C語言一步一步執(zhí)行, 這是什么原因? 以下是工程
    發(fā)表于 08-15 07:18

    昂科芯片燒錄高質(zhì)量出海 唱響越南一步步新技術(shù)研討會

    8月8日,迎來了場科技盛事-2024越南一步步新技術(shù)研討會在河內(nèi)·美利亞酒店隆重舉行。作為芯片燒錄領域的領導者,昂科技術(shù)應邀參會,吸引了眾多國內(nèi)外業(yè)界專家和企業(yè)的關(guān)注。
    的頭像 發(fā)表于 08-10 09:20 ?869次閱讀

    散熱第一步是導熱

    一步提高產(chǎn)品的使用壽命。 產(chǎn)品型號有多種規(guī)格可選擇(導熱系數(shù)1.0~5.0W/m.K)。 合肥傲琪電子的導熱硅脂、導熱硅膠片還應用于對芯片、主板、功率管(MOS)、變壓器、模塊、PCB板、鋁基板
    發(fā)表于 08-06 08:52

    使用STM32CubeIde生成STM32WBA BLE Audio工程時,如何配置Ble Audio模式?

    使用STM32CubeIde生成STM32WBA BLE Audio工程時,如何配置Ble Audio模式? 看STMCubeMX界面中沒有
    發(fā)表于 05-27 06:18

    西門子與微軟進一步擴展戰(zhàn)略合作關(guān)系

    近日,西門子數(shù)字化工業(yè)軟件與微軟宣布進一步擴展雙方的戰(zhàn)略合作關(guān)系。通過微軟Azure云服務,西門子正式推出Xcelerator as a Service工業(yè)軟件解決方案,為客戶提供更靈活、高效的服務體驗。
    的頭像 發(fā)表于 05-21 10:47 ?705次閱讀

    mc workbench卡在代碼生成這一步不動了是什么原因?

    mc workbench卡在代碼生成這一步不動了是什么原因
    發(fā)表于 03-27 06:52

    STM32WBA Nucleo-64設置主頻為100M,發(fā)現(xiàn)啟動過程中卡死在PWR_VOSR_VOSRDY,為什么?

    使用ST官方的STM32WBA Nucleo-64板子, 當設置主頻為100M,發(fā)現(xiàn)啟動過程中卡死在PWR_VOSR_VOSRDY; 設置主頻為16MHz的時候,可以正常完成初始化。 使用的是CodeMx生成的工程 這是啥原因呢?看手冊也沒找到原因
    發(fā)表于 03-14 08:28

    材料價格進一步下降,盈利觸底 鋰電材料企業(yè)如何應對?

    在上游原料價格相對穩(wěn)定、終端銷量有所好轉(zhuǎn)的情況下,季度四大鋰電主材價格卻出現(xiàn)進一步下跌。
    的頭像 發(fā)表于 03-01 10:25 ?1091次閱讀

    Prevayl的下一步是什么

    Prevayl的下一步是什么2022年,Prevayl推出了SmartWear——這是世界上第款采用臨床級心電圖增強的高性能服裝,其準確性無與倫比。生物識別先驅(qū)還創(chuàng)建個功能齊全的
    的頭像 發(fā)表于 02-17 18:10 ?564次閱讀
    Prevayl的下<b class='flag-5'>一步</b>是什么

    大族封測IPO進程再進一步

    2024年1月17日,深交所向大族封測發(fā)出IPO審核意見,標志著這家LED及半導體封測專用設備制造商的上市進程又向前邁進了一步。
    的頭像 發(fā)表于 01-25 14:51 ?810次閱讀