一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

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

STM32單片機 ? 來源:未知 ? 2023-11-30 13:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群


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


目錄預(yù)覽

1、介紹

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

3、服務(wù)和特征配置

4、工具

5、NUCLEO-WBA52CG 的 CubeMX 初始化

6、驗證藍(lán)牙基本連接

7、使能串口日志追蹤

8、小結(jié)


01

介紹


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


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



02

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


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


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


圖1.通信示意圖


03

服務(wù)和特征配置


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

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

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

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


服務(wù)器的服務(wù)和特征配置列舉如下 :


表1. 服務(wù)和特征配置


04

工具


4.1. 軟件工具


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

? STM32CubeMX 軟件 (v6.8.0 以上)

? STM32CubeWBA MCU Package (v1.0.0 以上)

? IDE: STM32CubeIDE or IAR

? 串口終端 (TeraTerm)

? 手機應(yīng)用程序 STBLEToolbox


4.2. 硬件工具


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


圖2.硬件工具


05

NUCLEO-WBA52CG 的 CubeMX 初始化


5.1. CubeMX 初始化


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


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


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


圖4.選擇對應(yīng)的芯片型號


  1. 選擇系列分類

  2. 選擇 STM32WBA 系列

  3. 選擇對應(yīng)的 STM32WBA 芯片型號

  4. 選擇 Start Project


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


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


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


5.2. 基本外設(shè)的配置


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


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


5.2.2. 配置基本 RCC


圖8. 配置 RCC


5.3. STM32_WPAN BLE 依賴的外設(shè)的配置


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


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


圖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


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


圖19. 配置 STM32_WPAN


5.4. BLE GAP 和 GATT 配置


5.4.1. 配置 GAP


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


5.4.2. 配置 GATT 服務(wù)


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


圖22. 配置 GATT(對服務(wù)進(jìn)行定制化配置)


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


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


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


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


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


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


5.5. 其他配置與代碼生成


5.5.1. 進(jìn)入“Clock Configuration”頁面,按下圖進(jìn)行時鐘配置


圖26. 配置時鐘


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


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


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


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


06

驗證藍(lán)牙基本連接


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


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



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


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


圖29. 驗證基本連接


07

使能串口日志追蹤


7.1. 當(dāng)用戶需要使能串口 LOG 輸出功能時,可重新回到 CubeMX 的界面,進(jìn)行串口的配置:


圖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. 驗證串口日志追蹤功能


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


圖38. 配置串口終端


7.4.1. 驗證讀特征


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



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


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

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



7.4.3. 驗證日志追蹤


圖39. 驗證藍(lán)牙功能串口日志


08

小結(jié)


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


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



原文標(biāo)題:實戰(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)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6067

    文章

    44992

    瀏覽量

    650562
  • STM32
    +關(guān)注

    關(guān)注

    2293

    文章

    11032

    瀏覽量

    365028

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    晶圓級封裝:連接密度提升的關(guān)鍵一步

    了解晶圓級封裝如何進(jìn)一步提高芯片的連接密度,為后續(xù)技術(shù)發(fā)展奠定基礎(chǔ)。
    的頭像 發(fā)表于 06-27 16:51 ?168次閱讀

    各位大佬,想問下為什么這個程序一步一步運行就可以讀出正確的讀數(shù),正常運行卻讀不出正確讀數(shù)

    各位大佬,想問下為什么這個程序一步一步運行就可以讀出正確的讀數(shù),正常運行卻讀不出正確讀數(shù)
    發(fā)表于 06-23 09:57

    智駕安全,發(fā)展到哪一步了?

    智駕安全,發(fā)展到哪一步了?
    的頭像 發(fā)表于 06-10 11:28 ?260次閱讀

    移動電源EMC整改:認(rèn)證失敗到次通過的實戰(zhàn)經(jīng)驗

    深圳南柯電子|移動電源EMC整改:認(rèn)證失敗到次通過的實戰(zhàn)經(jīng)驗
    的頭像 發(fā)表于 05-26 11:25 ?209次閱讀
    移動電源EMC整改:認(rèn)證失敗到<b class='flag-5'>一</b>次通過的<b class='flag-5'>實戰(zhàn)經(jīng)驗</b>

    STM32WBA Nucleo-64開發(fā)板# 支持Thread、Matter和Zigbee

    STMicroelectronics STM32WBA Nucleo-64板包括NUCLEO-WBA52CG、NUCLEO-WBA55CG和NUCLEO-WBA65RI,內(nèi)嵌功能強大的
    的頭像 發(fā)表于 05-15 15:33 ?1781次閱讀
    <b class='flag-5'>STM32WBA</b> Nucleo-64開發(fā)板# 支持Thread、Matter和Zigbee

    CoT 數(shù)據(jù)集如何讓大模型學(xué)會一步一步思考?

    目前,大模型的回答路徑基本遵循 input-output 的方式,在面對復(fù)雜任務(wù)時表現(xiàn)不佳。反之,人類會遵循套有條理的思維流程,逐步推理得出正確答案。這種差異促使人們深入思考:如何才能讓大模型“智能涌現(xiàn)”,學(xué)會像人類樣“一步
    的頭像 發(fā)表于 04-24 16:51 ?602次閱讀
    CoT 數(shù)據(jù)集如何讓大模型學(xué)會<b class='flag-5'>一步</b><b class='flag-5'>一步</b>思考?

    【迅為電子】一步步教你完成iTOP-RK3568 EDP屏幕適配

    【迅為電子】一步步教你完成iTOP-RK3568 EDP屏幕適配
    的頭像 發(fā)表于 04-23 15:08 ?1027次閱讀
    【迅為電子】<b class='flag-5'>一步步</b>教你完成iTOP-RK3568 EDP屏幕適配

    意法半導(dǎo)體推出STM32WBA6系列MCU新品

    ??????最近,意法半導(dǎo)體(ST)重磅升級STM32WBA產(chǎn)品系列,推出STM32WBA6系列新品,能夠在單芯片上同時支持藍(lán)牙低功耗(Bluetooth LE)和IEEE 802.15.4標(biāo)準(zhǔn)的器件。
    的頭像 發(fā)表于 03-21 09:40 ?1084次閱讀
    意法半導(dǎo)體推出<b class='flag-5'>STM32WBA</b>6系列MCU新品

    醫(yī)療設(shè)備EMC檢測測試整改:保障患者安全的第一步

    深圳南柯電子|醫(yī)療設(shè)備EMC檢測測試整改:保障患者安全的第一步
    的頭像 發(fā)表于 03-17 11:18 ?397次閱讀
    醫(yī)療設(shè)備EMC檢測測試整改:保障患者安全的第<b class='flag-5'>一步</b>

    STM32WBA52CEU6 BLE使用STM32Cnbex生成的工程編譯報錯怎么解決?

    STM32WBA52CEU6 BLE芯片使用STM32Cnbex生成的MDK5工程編譯報錯,求解決方法,感謝!錯誤如下:
    發(fā)表于 03-13 08:19

    ST EDGE AI云服務(wù)最后一步無法下載工程是怎么回事?

    ST EDGE AI云服務(wù)我選擇使用ST提供的模型,使用cube ai 9.0.0,選擇STM32板卡。之后就按照文檔一步一步操作,基準(zhǔn)測試也能運行的到結(jié)果(說明云端是生成工程并編譯下
    發(fā)表于 03-13 08:17

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

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

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

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

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

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

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

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