chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

STM32WB55RG開發(fā)(5)----監(jiān)測STM32WB連接狀態(tài)

嵌入式單片機MCU開發(fā) ? 來源:嵌入式單片機MCU開發(fā) ? 作者:嵌入式單片機MCU開 ? 2024-12-16 16:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概述

STM32WB系列微控制器代表了STMicroelectronics在無線技術(shù)領(lǐng)域的新一代創(chuàng)新,集成了Bluetooth 5.0、Zigbee和Thread等多種無線通信協(xié)議。而在這些無線應(yīng)用中,監(jiān)測和管理連接狀態(tài)顯得尤為關(guān)鍵。確??煽窟B接不僅對于數(shù)據(jù)的實時傳輸至關(guān)重要,而且在面對低功耗需求、設(shè)備管理和故障診斷時,都有著不可或缺的作用。

本文將深入探討STM32WB的連接狀態(tài)監(jiān)測機制。首先會討論為什么需要監(jiān)測連接狀態(tài),然后介紹STM32WB提供的相關(guān)工具和技術(shù)。隨后,會詳細解釋如何使用這些工具來實時跟蹤和管理連接狀態(tài),以及如何解讀和響應(yīng)不同的連接狀態(tài)事件。通過這些內(nèi)容,能夠更好地理解和利用STM32WB的無線連接功能,為其應(yīng)用帶來更高的可靠性和效率。

最近在弄ST的教程,需要樣片的可以加群申請:615061293/925643491 。

硬件準備

首先需要準備一個開發(fā)板,這里我準備的是自己繪制的開發(fā)板,需要的可以進行申請。 主控為STM32WB55RGV6

視頻教學

[https://www.bilibili.com/video/BV1ENmpYREfu/]

樣品申請

[https://www.wjx.top/vm/OhcKxJk.aspx#]

源碼下載

[https://download.csdn.net/download/qq_24312945/90044072]

參考程序

[https://github.com/CoreMaker-lab/STM32WB55_SENSOR]

[https://gitee.com/CoreMaker/STM32WB55_SENSOR]

選擇芯片型號

配置時鐘

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

配置時鐘樹

RTC時鐘配置

RF wakeup時鐘配置

查看開啟STM32_WPAN條件

可以看到,需要開啟RF、RTC、RCC、IPCC、HSEM。

配置HSEM

硬件信號量(HSEM)模塊用于管理多個進程之間共享的訪問權(quán)限和資源同步。

資料下載鏈接:https://www.stmcu.jp/wp/wp-content/uploads/files/presentation-ja/STM32WB/17_STM32WB-System-Hardware-Semaphore-(HSEM)_J.pdf

開啟HSEM如下。

配置IPCC

通信控制器(IPCC)模塊的主要用于cpu之間的信號消息交換。

資料下載鏈接:https://www.st.com/content/ccc/resource/training/technical/product_training/group0/d3/17/dc/8a/bf/ef/4f/10/STM32WB-System-Inter-Processor-communication-controller-IPCC/files/STM32WB-System-Inter-Processor-communication-controller-IPCC.pdf/jcr:content/translations/en.STM32WB-System-Inter-Processor-communication-controller-IPCC.pdf

開啟如下所示。

配置RTC

啟動RF

開啟藍牙

配置為自定義模板。

命名設(shè)備名,輸入myDevice

配置BLE GATT,輸入mySVC

配置mySVC,輸入myCharWrite

LED配置

查看原理圖,對應(yīng)LED分別為PB0,PB1,PB5。

配置如下所示。

設(shè)置工程信息

工程文件設(shè)置

參考文檔

下圖展示了 BLE 協(xié)議棧中的事件回調(diào)函數(shù) 以及這些事件的作用和觸發(fā)位置,特別是在處理 BLE 應(yīng)用中的 ACI 事件時,用戶可以選擇兩種不同的方法來處理事件:

使用“switch case”事件處理程序
使用事件回調(diào)框架
圖中列出了幾個主要事件回調(diào):
● hci_disconnection_complete_event():連接結(jié)束事件,適用于 GAP 中的中央設(shè)備或外設(shè)。
● hci_le_connection_complete_event():建立連接完成事件,表示兩個設(shè)備之間的連接成功建立,適用于 GAP 中的中央設(shè)備或外設(shè)。
● aci_gatt_attribute_modified_event():當 GATT 客戶端修改了服務(wù)器端的某個屬性時,服務(wù)器端會觸發(fā)該事件,適用于 GATT 的服務(wù)器端。
● aci_gatt_notification_event():當 GATT 服務(wù)器端發(fā)送通知給客戶端時,在客戶端生成該事件,適用于 GATT 的客戶端。
● aci_gatt_indication_event():當 GATT 服務(wù)器端向客戶端發(fā)送指示(Indication)時,在客戶端生成該事件,適用于 GATT 客戶端。
● aci_gap_pass_key_req_event():在配對過程中需要提供密鑰時觸發(fā),安全管理器應(yīng)用層應(yīng)在接收到事件后調(diào)用 aci_gap_pass_key_resp() 進行密鑰的反饋,適用于 GAP 中的中央設(shè)備或外設(shè)。
● aci_gap_pairing_complete_event():配對過程成功或失敗后觸發(fā),適用于 GAP 中的中央設(shè)備或外設(shè)。
● aci_gap_bond_lost_event():當設(shè)備的綁定關(guān)系丟失時觸發(fā),通常是由于遠端設(shè)備刪除了綁定信息。應(yīng)用層在接收到該事件后,可以調(diào)用 aci_gap_allow_rebond() 以允許設(shè)備重新綁定,適用于 GAP 外設(shè)。
● aci_att_read_by_group_type_resp_event():當客戶端請求讀取組類型時,返回包含符合讀取條件的屬性句柄和類型的響應(yīng),適用于 GATT 客戶端。
● aci_att_read_by_type_resp_event():當客戶端請求讀取指定類型的屬性時,返回包含符合讀取條件的屬性值和類型的響應(yīng),適用于 GATT 客戶端。
● aci_gatt_proc_complete_event():表示 GATT 流程已完成,適用于 GATT 客戶端。
● hci_le_advertising_report_event():在掃描過程中發(fā)現(xiàn)設(shè)備時觸發(fā),報告掃描到的設(shè)備信息,適用于 GAP 中的中央設(shè)備。

這些事件為 BLE 應(yīng)用中的配對、綁定、安全管理和 GATT 操作提供了重要的反饋機制。開發(fā)者可以通過這些事件在應(yīng)用層實現(xiàn)相應(yīng)的業(yè)務(wù)邏輯。

SVCCTL_App_Notification

SVCCTL_App_Notification函數(shù)是一個藍牙事件處理器,用于響應(yīng)和處理STM32WB BLE堆棧中發(fā)生的各種事件。
該代碼實現(xiàn)了一個 BLE 事件回調(diào)函數(shù) SVCCTL_App_Notification,用于處理 STM32WB BLE 應(yīng)用中的各種 BLE 事件。主要邏輯分為以下幾個部分:

斷開連接事件 (HCI_DISCONNECTION_COMPLETE_EVT_CODE):
○ 當連接斷開時觸發(fā)該事件。
連接事件 (HCI_LE_CONNECTION_COMPLETE_SUBEVT_CODE):
○ 當 BLE 連接成功建立時觸發(fā)該事件。
連接更新事件 (HCI_LE_CONNECTION_UPDATE_COMPLETE_SUBEVT_CODE):
○ 當連接參數(shù)更新完成時觸發(fā),打印更新后的連接參數(shù)。
廠商特定事件 (HCI_VENDOR_SPECIFIC_DEBUG_EVT_CODE):
○ 處理各種 GAP 和 GATT 相關(guān)的自定義事件:
■ 按鍵通知 (ACI_GAP_KEYPRESS_NOTIFICATION_VSEVT_CODE)
■ 密碼請求 (ACI_GAP_PASS_KEY_REQ_VSEVT_CODE):當需要密碼時,通過調(diào)用 aci_gap_pass_key_resp 提供固定的 PIN。
■ 數(shù)字比較 (ACI_GAP_NUMERIC_COMPARISON_VALUE_VSEVT_CODE):進行數(shù)字比較并確認。
■ 配對完成 (ACI_GAP_PAIRING_COMPLETE_VSEVT_CODE):檢查配對狀態(tài)并打印結(jié)果。
■ GATT 指示 (ACI_GATT_INDICATION_VSEVT_CODE):當服務(wù)器發(fā)送指示時,確認接收。
在HCI_DISCONNECTION_COMPLETE_EVT_CODE中添加一個LED控制函數(shù)。

/* USER CODE BEGIN HCI_EVT_LE_CONN_COMPLETE */
            HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET);
            HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET);
          /* USER CODE END HCI_EVT_LE_CONN_COMPLETE */

在HCI_LE_CONNECTION_COMPLETE_SUBEVT_CODE中添加一個LED控制函數(shù)。

/* USER CODE BEGIN HCI_EVT_LE_CONN_COMPLETE */
                    HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET);
                    HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET);
          /* USER CODE END HCI_EVT_LE_CONN_COMPLETE */

在主程序中添加LED初始化程序。

/* USER CODE BEGIN 2 */
    HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET);
    HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET);
  /* USER CODE END 2 */

結(jié)果演示

通過手機和STM32WB建立連接和斷開連接可以查看到LED電平變化。

連接上LED1亮燈,LED2滅燈。

斷開藍牙鏈接。

連接上LED1滅燈,LED2亮燈。

審核編輯 黃宇

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

    關(guān)注

    48

    文章

    8305

    瀏覽量

    163536
  • 藍牙
    +關(guān)注

    關(guān)注

    119

    文章

    6271

    瀏覽量

    178150
  • STM32
    +關(guān)注

    關(guān)注

    2307

    文章

    11150

    瀏覽量

    372393
  • BLE
    BLE
    +關(guān)注

    關(guān)注

    13

    文章

    767

    瀏覽量

    66185
  • STM32WB55
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    AN5289 使用 STM32WB 系列微控制器構(gòu)建射頻應(yīng)用筆記

    本文檔一步一步地指導設(shè)計人員基于 STM32WB 系列微控制器構(gòu)建特定 Bluetooth低功耗或802.15.4 應(yīng)用。它匯集了最重要的信息,并且列出了需要處理的方面。為了充分利用本文檔中的信息
    發(fā)表于 01-09 14:13 ?0次下載

    LAT1215+如何讓 STM32WB 在沒有 LSE 時運行 BLE 應(yīng)用程序

    首先 LSE 可作為 STM32WB RF Wakeup 和 RTC 的時鐘源。STM32WB RF Wakeup 和 RTC 的時鐘源可配置為 LSE,LSE 時鐘相對比較穩(wěn)定且準確,不需要校準
    發(fā)表于 01-09 10:55 ?0次下載

    STM32WB 系列微控制器 OTA 和無線固件更新應(yīng)用筆記

    本文檔介紹了通過低功耗藍牙連接STM32WB 設(shè)備上進行 OTA 固件更新的過程。它講解如何使用 STM32Cube 固件包中提供的 OTA 應(yīng)用程序,實現(xiàn)用戶應(yīng)用程序、無線固件和固件升級服務(wù)的更新。
    發(fā)表于 01-08 14:50 ?0次下載

    MLPF-WB55-01E3:2.4 GHz低通濾波器的卓越之選

    STM32WB55Cx/Rx、STM32WB50Cx、STM32WB35Cx和STM32WB30Cx系列微控制器設(shè)計的2.4 GHz低通濾波器。它集成了阻抗匹配網(wǎng)絡(luò)和諧波濾波器,旨在最
    的頭像 發(fā)表于 12-31 17:20 ?1516次閱讀

    MLPF - WB55 - 01E3:2.4 GHz低通濾波器的深度解析

    的是STMicroelectronics推出的一款2.4 GHz低通濾波器——MLPF - WB55 - 01E3,它專為匹配STM32WB系列微控制器而設(shè)計,具有諸多出色特性。 文件下載: MLPF-WB55-01E3.pdf
    的頭像 發(fā)表于 12-17 17:35 ?570次閱讀

    STM32WB1MMC藍牙低功耗模塊技術(shù)解析與應(yīng)用設(shè)計

    微控制器,具有出色的接收器靈敏度和高輸出功率信號,因此可提供同類最佳的射頻性能。其低功耗特性可延長電池壽命、小紐扣電池或能量采集。STMicroelectronics STM32WB1MMC無需射頻專業(yè)知識,是加快應(yīng)用開發(fā)和降低相關(guān)成本的理想方法。該模塊完全免協(xié)議堆棧版稅
    的頭像 發(fā)表于 10-25 16:20 ?1360次閱讀
    <b class='flag-5'>STM32WB</b>1MMC藍牙低功耗模塊技術(shù)解析與應(yīng)用設(shè)計

    STM32WB連接擴展板技術(shù)解析:從硬件架構(gòu)到開發(fā)實踐

    STMicroelectronics B-WB1M-WPAN1連接擴展板設(shè)有板載STM32WB1MMCH6。STMicro B-WB1M-WPAN1
    的頭像 發(fā)表于 10-23 09:40 ?512次閱讀
    <b class='flag-5'>STM32WB</b><b class='flag-5'>連接</b>擴展板技術(shù)解析:從硬件架構(gòu)到<b class='flag-5'>開發(fā)</b>實踐

    STM32WB09KE評估板技術(shù)解析與應(yīng)用指南

    。Arduino? Uno V3連接支持和ST morpho排針可輕松擴展STMicroelectronics STM32 Nucleo開放式開發(fā)平臺的功能。這些平臺配有各種專用擴展板。
    的頭像 發(fā)表于 10-17 18:07 ?821次閱讀
    <b class='flag-5'>STM32WB</b>09KE評估板技術(shù)解析與應(yīng)用指南

    STM32WB07CC開發(fā)板技術(shù)解析與應(yīng)用指南

    STMicroelectronics NUCLEO-WB07CC STM32 Nucleo-64射頻開發(fā)板采用基于Arm? Cortex?M0+內(nèi)核的STM32WB07CC微控制器
    的頭像 發(fā)表于 10-17 17:11 ?1015次閱讀
    <b class='flag-5'>STM32WB</b>07CC<b class='flag-5'>開發(fā)</b>板技術(shù)解析與應(yīng)用指南

    STM32WB5MMG模塊能否支持Thread轉(zhuǎn)WIFI?

    請幫忙推薦一款可以WIFI轉(zhuǎn)Sub-G/Zibber協(xié)議的芯片,希望做了無線認證。非常感謝。 1.STM32WB5MMG模塊能否支持Thread轉(zhuǎn)WIFI; 2.Nucleo-WBA55RG(主控
    發(fā)表于 06-04 07:21

    STM32WB5MMG模塊能否支持Thread轉(zhuǎn)WIFI?

    請幫忙推薦一款可以WIFI轉(zhuǎn)Sub-G/Zibber協(xié)議的芯片,希望做了無線認證。非常感謝。 1.STM32WB5MMG模塊能否支持Thread轉(zhuǎn)WIFI; 2.Nucleo-WBA55RG(主控
    發(fā)表于 04-24 06:12

    STM32WB5MMG模塊能否支持Thread轉(zhuǎn)WIFI?

    請幫忙推薦一款可以WIFI轉(zhuǎn)Sub-G/Zibber協(xié)議的芯片,希望做了無線認證。非常感謝。 1.STM32WB5MMG模塊能否支持Thread轉(zhuǎn)WIFI; 2.Nucleo-WBA55RG(主控
    發(fā)表于 04-22 08:22

    請問STM32WB55可以通過固件刷寫的方式在芯片里預置key嗎?

    我正在開發(fā)一款基于stm32wb55的產(chǎn)品。在實際用例中,希望通過芯片內(nèi)置的key來解密數(shù)據(jù),請問有沒有可能通過固件/fus刷寫的方式將這些key寫入到芯片中?
    發(fā)表于 03-14 08:26

    請問STM32WB55客戶端應(yīng)用接收的特征長度為什么更改無效呢?

    STM32WB55客戶端應(yīng)用接收的特征長度為什么更改無效呢?
    發(fā)表于 03-10 06:18

    STM32WB55RG使用USB ST-LINK連接電腦顯示未知USB設(shè)備,更新驅(qū)動后也沒有變化,是什么原因?

    STM32WB55RG使用USB ST-LINK連接電腦顯示未知USB設(shè)備,更新驅(qū)動后也沒有變化,這大概是哪里的問題?
    發(fā)表于 03-07 07:13