概述
在嵌入式藍牙開發(fā)中,特別是針對STM32WB系列,修改或配置藍牙設備地址是常見的需求。不論是為了實現(xiàn)特定的測試、滿足隱私要求,還是為了區(qū)分開發(fā)和生產(chǎn)設備,對藍牙地址的定制化處理都是至關(guān)重要的。本文將重點介紹如何利用aci_hal_write_config_data函數(shù)來成功地修改STM32WB的藍牙地址。我們會詳細探討該函數(shù)的工作原理、所需的參數(shù)以及實際操作步驟,確保讀者能夠快速、高效地完成相關(guān)任務。
最近在弄ST和瑞薩RA的課程,需要樣片的可以加群申請:615061293 。
硬件準備
首先需要準備一個開發(fā)板,這里我準備的是WB55RG 的開發(fā)板:
視頻教學
[https://www.bilibili.com/video/BV1sN411v7ag/
樣品申請
[https://www.wjx.top/vm/OhcKxJk.aspx#m/OhcKxJk.aspx#)
完整代碼下載
[https://download.csdn.net/download/qq_24312945/88295322
選擇芯片型號

配置時鐘源
HSE與LSE分別為外部高速時鐘和低速時鐘,在本文中使用外置的時鐘源,故都選擇Crystal/Ceramic Resonator選項,如下所示:
配置時鐘樹

RTC時鐘配置

RFWKP時鐘配置

查看開啟STM32_WPAN條件
可以看到,需要開啟RF、RTC、RCC、IPCC、HSEM。
配置HSEM
硬件信號量(HSEM)模塊用于管理多個進程之間共享的訪問權(quán)限和資源同步。
開啟HSEM如下。
配置IPCC
通信控制器(IPCC)模塊的主要用于cpu之間的信號消息交換。
開啟如下所示。

配置RTC

啟動RF

開啟藍牙

配置為自定義模板。
命名設備名

配置BLE GATT

配置SVC
設置工程信息

工程文件設置

修改置BLE設備公共地址
設置公共地址的ACI命令為:
tBleStatus aci_hal_write_config_data(uint8_t offset, uint8_t len, const uint8_t *val).
修改方式如下所示。

Ble_Hci_Gap_Gatt_Init
這段代碼主要用于初始化STM32WB系列的藍牙(BLE)相關(guān)功能。

下面選中的函數(shù)可以修改BLE設備公共地址。
設置BLE公共地址:首先,獲取BLE默認地址BleGetBdAddress,然后通過aci_hal_write_config_data函數(shù)使用預定義的地址(0xFF, 0xEE, 0xDD, 0xCC, 0xBB, 0xAA)覆蓋它。
生成/設置靜態(tài)隨機地址:根據(jù)條件編譯標志來確定是使用預定義的靜態(tài)隨機地址還是使用隨機數(shù)生成器產(chǎn)生的地址。設置了正確的格式后,通過aci_hal_write_config_data將隨機地址寫入BLE控制器。

uint8_t bdaddr[] = {0xFF, 0xEE, 0xDD, 0xCC, 0xBB, 0xAA};
ret = aci_hal_write_config_data(CONFIG_DATA_PUBADDR_OFFSET, CONFIG_DATA_PUBADDR_LEN, bdaddr);
結(jié)果演示
通過手機和STM32WB建立連接和斷開連接可以查看到BLE地址如下。

-
藍牙
+關(guān)注
關(guān)注
119文章
6311瀏覽量
178666 -
BLE
+關(guān)注
關(guān)注
13文章
774瀏覽量
66332 -
地址
+關(guān)注
關(guān)注
1文章
32瀏覽量
11207 -
STM32WB55
+關(guān)注
關(guān)注
0文章
26瀏覽量
2108
發(fā)布評論請先 登錄
STM32WB55開發(fā)(1)----套件概述
STM32WB55開發(fā)(4)----配置串口打印Debug調(diào)試信息
STM32WB55開發(fā)板單板設計
STM32WB55是如何在RT-Thread系統(tǒng)上移植的
STM32WB55的相關(guān)資料推薦
如何控制stm32wb55的電源呢
求助,誰能指出STM32WB55 Nucleo的藍牙5.2堆棧?
stm32wb55 待機stop睡眠 喚醒后藍牙工作不正常
STM32WB55單片機的PCB和電路圖合集免費下載
STM32WB55開發(fā)板(一)單板設計-硬件介紹
STM32WB55 藍牙協(xié)議棧運行流程解析
STM32WB55在RT-Thread系統(tǒng)上移植官方藍牙BLE功能
stm32wb55 基于rtt的ble sample制作過程
STM32WB55開發(fā)(2)----修改藍牙地址
評論