在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

STM32WB55RG開發(5)----監測STM32WB連接狀態

嵌入式單片機MCU開發 ? 來源:嵌入式單片機MCU開發 ? 作者:嵌入式單片機MCU開 ? 2024-12-16 16:22 ? 次閱讀

概述

STM32WB系列微控制器代表了STMicroelectronics在無線技術領域的新一代創新,集成了Bluetooth 5.0、Zigbee和Thread等多種無線通信協議。而在這些無線應用中,監測和管理連接狀態顯得尤為關鍵。確保可靠連接不僅對于數據的實時傳輸至關重要,而且在面對低功耗需求、設備管理和故障診斷時,都有著不可或缺的作用。

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

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

硬件準備

首先需要準備一個開發板,這里我準備的是自己繪制的開發板,需要的可以進行申請。 主控為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)模塊用于管理多個進程之間共享的訪問權限和資源同步。

資料下載鏈接: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

開啟藍牙

配置為自定義模板。

命名設備名,輸入myDevice

配置BLE GATT,輸入mySVC

配置mySVC,輸入myCharWrite

LED配置

查看原理圖,對應LED分別為PB0,PB1,PB5。

配置如下所示。

設置工程信息

工程文件設置

參考文檔

下圖展示了 BLE 協議棧中的事件回調函數 以及這些事件的作用和觸發位置,特別是在處理 BLE 應用中的 ACI 事件時,用戶可以選擇兩種不同的方法來處理事件:

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

這些事件為 BLE 應用中的配對、綁定、安全管理和 GATT 操作提供了重要的反饋機制。開發者可以通過這些事件在應用層實現相應的業務邏輯。

SVCCTL_App_Notification

SVCCTL_App_Notification函數是一個藍牙事件處理器,用于響應和處理STM32WB BLE堆棧中發生的各種事件。
該代碼實現了一個 BLE 事件回調函數 SVCCTL_App_Notification,用于處理 STM32WB BLE 應用中的各種 BLE 事件。主要邏輯分為以下幾個部分:

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

/* 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控制函數。

/* 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 */

結果演示

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

連接上LED1亮燈,LED2滅燈。

斷開藍牙鏈接。

連接上LED1滅燈,LED2亮燈。

審核編輯 黃宇

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

    關注

    48

    文章

    7552

    瀏覽量

    151417
  • 藍牙
    +關注

    關注

    114

    文章

    5823

    瀏覽量

    170313
  • STM32
    +關注

    關注

    2270

    文章

    10900

    瀏覽量

    355983
  • BLE
    BLE
    +關注

    關注

    12

    文章

    660

    瀏覽量

    59406
  • STM32WB55
    +關注

    關注

    0

    文章

    26

    瀏覽量

    1324
收藏 人收藏

    評論

    相關推薦

    STM32WB55RG開發(3)----生成 BLE 程序連接手機APP

    本項目旨在利用 STM32WB55 微控制器的藍牙低功耗(BLE)功能,實現與手機 APP 的無線連接。通過配置時鐘源、啟動關鍵模塊(如 RCC、RTC、RF、IPCC 和 HSEM),以及啟用藍牙功能,用戶可以創建一個穩定的 BLE
    的頭像 發表于 12-16 16:06 ?179次閱讀
    <b class='flag-5'>STM32WB55RG</b><b class='flag-5'>開發</b>(3)----生成 BLE 程序<b class='flag-5'>連接</b>手機APP

    STM32WB55RG開發(2)----STM32CubeProgrammer燒錄

    STM32CubeProgrammer (STM32CubeProg) 是一款用于編程STM32產品的全功能多操作系統軟件工具。 它提供了一個易用高效的環境,通過調試接口(JTAG和SWD)和自舉
    的頭像 發表于 12-16 15:52 ?196次閱讀
    <b class='flag-5'>STM32WB55RG</b><b class='flag-5'>開發</b>(2)----<b class='flag-5'>STM32</b>CubeProgrammer燒錄

    STM32WB55RG開發(1)----開發板測試

    STM32WB55 & SENSOR是一款基于STM32WB55系列微控制器的評估套件。該套件采用先進的無線通信技術,支持Bluetooth? 5.3規范、IEEE
    的頭像 發表于 12-16 15:39 ?485次閱讀
    <b class='flag-5'>STM32WB55RG</b><b class='flag-5'>開發</b>(1)----<b class='flag-5'>開發</b>板測試

    stm32WB有可以驅動聲卡的驅動程序嗎?

    聲卡是PCM2704,使用的開發板是STM32WB55RG,想實現如下過程: PCM2704聲卡將開發板上USB傳出的PCM格式的音頻轉為模擬信號,通過PAM8406功率放大器將該信號放大后接喇叭
    發表于 05-27 07:15

    請問STM32WB55RG怎么配置GPIO輸入模式?

    在CubeMX中配置STM32WB55的GPIO輸入模式時,在下拉選擇中為何沒有輸入模式選擇?
    發表于 05-23 07:58

    STM32WBSTM32L4/L4+的區別和優劣勢是什么?

    STM32WBSTM32L4 / L4+的區別,和優劣勢
    發表于 04-26 08:07

    STM32WB thread啟動錯誤是什么原因導致的?

    STM32Cube_FW_WB_V1.3.0ProjectsP-NUCLEO-WB55.NucleoApplicationsBLE_ThreadBle_Thread_Static 硬件環境:STM32WB nucleo 使用SW2切換協議為thread , 顯示失敗
    發表于 04-16 08:01

    P-NUCLEO-WB55.USBDongle開發板升級FUS和無線協議棧失敗的原因?

    按照官網提供的下面步驟 升級P-NUCLEO-WB55.USBDongle單板的FUS和無線協議棧后,單板在sw2 to boot0下,stm32cubeprogrammer選擇usb模式無法再識別
    發表于 04-16 06:59

    STM32WB能否連接藍牙耳機?如果可以支持什么格式?

    STM32WB能否連接藍牙耳機?如果可以支持什么格式?如果能得到回答將非常感謝!
    發表于 03-27 07:11

    項目開發時能不能同時用兩塊芯片,比如一塊stm32WB一塊stm32F4?

    請問項目開發時能不能同時用兩塊芯片,比如一塊stm32WB,一塊stm32F4?
    發表于 03-20 08:22

    STM32WB配置SMPS模塊具體步驟是什么?

    想要降低STM32WB的功耗,查找手冊發現開啟SMPS模塊可以降低功耗。配置SMPS模塊具體步驟是什么有大佬知道嗎?是開啟SMPS宏定義,然后寫PWR的寄存器就可以了嗎?怎么證明自己的SMPS模塊-配置正確了呢?
    發表于 03-20 08:18

    STM32U5,STM32WBSTM32L4開發板,哪個開發板擁有較多數量的ADC?

    請問,我現在需要開發一個項目,在這個項目中需要使用較多數量的傳感器(至少8個),這些傳感器需要進行信號采集,現在在使用STM32U5,STM32WBSTM32L4芯片的
    發表于 03-20 08:01

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

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

    請問STM32WB55怎么配置藍牙到低功耗廣播狀態

    使用STM32WB55RGV6作為主控設計了一款智能鎖應用,請問怎么配置藍牙到低功耗廣播狀態?目前根據例程,藍牙運行期間cpu1進入stop2之后仍有4mA左右的電流,如何配置可以達到更低的功耗?或者臨時關閉藍牙之后再根據需要重新打開?
    發表于 03-15 07:00

    STM32WB55RG是否可以使用j-flash通過j-link燒錄協議棧和FUS bin文件?

    硬件基于STM32WB55RG是否可以使用j-flash通過j-link燒錄協議棧和FUS bin文件?
    發表于 03-12 07:14
    主站蜘蛛池模板: www.毛片在线观看| 天天做天天爱夜夜爽| 生活片黄色| 黄色视屏日本| 手机看片福利久久| 亚洲春色www| 欧美色视频网站| 深夜视频免费在线观看| 欧美日韩亚洲一区| 欧美一级欧美一级高清| 天天做天天玩天天爽天天| 亚洲一区二区三区免费视频| 色妞基地| 国产精品入口免费视频| 东北美女野外bbwbbw免费| 亚洲成在人线中文字幕| 国产aaaaaa| 欧美猛交lxxxxxxxxx| 日本特级淫片免费| 国产女乱淫真高清免费视频| 国产又大又黄又粗又爽| 欧美a网站| 久久中文字幕综合婷婷| 国产香蕉免费精品视频| 亚洲 欧美 动漫| 夜夜摸夜夜爽| 男女交黄| 国产又黄又免费aaaa视频| 日韩基地1024首页| 伊人网站在线观看| www.黄网站| 日本一区不卡视频| 精品成人网| 男人cao女人视频在线观看| 一级黄色片欧美| www.丁香.com| 老师下面很湿很爽很紧| 国产精品入口免费视频| 中文字幕在线二区| 色福利视频| 午夜影院在线观看视频|