0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32WB55开发(1)----监测STM32WB连接状态

嵌入式单片机MCU开发 来源:嵌入式单片机MCU开发 作者:嵌入式单片机MCU开 2023-12-01 15:41 次阅读

概述

STM32WB系列微控制器代表了STMicroelectronics在无线技术领域的新一代创新,集成了Bluetooth 5.0、Zigbee和Thread等多种无线通信协议。而在这些无线应用中,监测和管理连接状态显得尤为关键。确保可靠连接不仅对于数据的实时传输至关重要,而且在面对低功耗需求、设备管理和故障诊断时,都有着不可或缺的作用。

本文将深入探讨STM32WB的连接状态监测机制。我们首先会讨论为什么需要监测连接状态,然后介绍STM32WB提供的相关工具和技术。随后,我们会详细解释如何使用这些工具来实时跟踪和管理连接状态,以及如何解读和响应不同的连接状态事件。通过这些内容,读者将能够更好地理解和利用STM32WB的无线连接功能,为其应用带来更高的可靠性和效率。
最近在弄ST和瑞萨RA的课程,需要样片的可以加群申请:615061293 。

硬件准备

首先需要准备一个开发板,这里我准备的是WB55RG 的开发板:

在这里插入图片描述

视频教学

[https://www.bilibili.com/video/BV1Km4y1M7Ti/](

样品申请

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

完整代码下载

[https://download.csdn.net/download/qq_24312945/88295068](

选择芯片型号

在这里插入图片描述

配置时钟

HSE与LSE分别为外部高速时钟和低速时钟,在本文中使用外置的时钟源,故都选择Crystal/Ceramic Resonator选项,如下所示:
在这里插入图片描述

配置时钟树

在这里插入图片描述

RTC时钟配置

在这里插入图片描述
RFWKP时钟配置

在这里插入图片描述

查看开启STM32_WPAN条件

可以看到,需要开启RF、RTC、RCC、IPCC、HSEM。
在这里插入图片描述

配置HSEM

硬件信号量(HSEM)模块用于管理多个进程之间共享的访问权限和资源同步。
开启HSEM如下。
在这里插入图片描述

配置IPCC

通信控制器(IPCC)模块的主要用于cpu之间的信号消息交换。
开启如下所示。

在这里插入图片描述

配置RTC

在这里插入图片描述

启动RF

在这里插入图片描述

开启蓝牙

在这里插入图片描述

配置为自定义模板。
在这里插入图片描述

命名设备名

在这里插入图片描述

配置BLE GATT

在这里插入图片描述

配置SVC
在这里插入图片描述

LED配置

查看原理图可以得知PB0为蓝色LED,PB1为绿色LED。

在这里插入图片描述

配置PB0、PB1为输出IO。

在这里插入图片描述

设置工程信息

在这里插入图片描述

工程文件设置

在这里插入图片描述

参考文档

https://wiki.st.com/stm32mcu/wiki/Connectivity:STM32WB_HeartRate
HCI_LE_CONNECTION_COMPLETE_SUBEVT_CODE事件可以判断是否构建完成。

在这里插入图片描述

SVCCTL_App_Notification

SVCCTL_App_Notification函数是一个蓝牙事件处理器,用于响应和处理STM32WB BLE堆栈中发生的各种事件。
事件处理的主要内容:

  1. 断开连接事件 (HCI_DISCONNECTION_COMPLETE_EVT_CODE)
  2. 元事件 (HCI_LE_META_EVT_CODE)
  3. 这部分处理了几个子事件,如HCI_LE_CONNECTION_UPDATE_COMPLETE_SUBEVT_CODE(连接更新完成)和HCI_LE_CONNECTION_COMPLETE_SUBEVT_CODE(新的连接建立完成)。
  4. 厂商特定调试事件 (HCI_VENDOR_SPECIFIC_DEBUG_EVT_CODE)

"在HCI_LE_CONNECTION_COMPLETE_SUBEVT_CODE事件中,我们能够判断Bluetooth Low Energy(BLE)设备是否已成功建立了一个新的连接。相反,在HCI_DISCONNECTION_COMPLETE_EVT_CODE事件里,我们可以确认是否一个已存在的连接已经被断开。这两个事件为我们提供了监控BLE连接状态的重要手段,从而使我们能够更好地管理设备的连接生命周期。"

在HCI_DISCONNECTION_COMPLETE_EVT_CODE中添加一个IO翻转函数。

/* USER CODE BEGIN EVT_DISCONN_COMPLETE */
			HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_1);
      /* USER CODE END EVT_DISCONN_COMPLETE */

在这里插入图片描述
在HCI_DISCONNECTION_COMPLETE_EVT_CODE中添加一个IO翻转函数。
在这里插入图片描述

结果演示

通过手机和STM32WB建立连接和断开连接可以查看到IO扣电平变化。

在这里插入图片描述

在这里插入图片描述

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 蓝牙
    +关注

    关注

    112

    文章

    5430

    浏览量

    165668
  • 监测
    +关注

    关注

    2

    文章

    3047

    浏览量

    43885
  • BLE
    BLE
    +关注

    关注

    12

    文章

    608

    浏览量

    58839
  • 连接
    +关注

    关注

    2

    文章

    91

    浏览量

    20814
  • STM32WB55
    +关注

    关注

    0

    文章

    25

    浏览量

    1159
收藏 人收藏

    评论

    相关推荐

    STM32WB55开发板单板设计

    STM32WB55开发板(一)单板设计-硬件介绍目录STM32WB55开发板(一)单板设计-硬件介绍前言简介参数介绍MCU方面开发板方面
    发表于 08-06 08:15

    STM32WB55开发板的功能是什么?

    STM32WB55开发板的功能是什么?
    发表于 11-08 06:36

    STM32WB55的相关资料推荐

    STM32WB55 蓝牙协议栈运行流程解析简介STM32WB55是ST公司近期推出的一颗双核(M0+M4)无线MCU,主要应用在BLE领域,同时也可以运行thread和zigbee等无线协议栈。协议
    发表于 02-07 08:47

    如何控制stm32wb55的电源呢

    我想了解如何控制 stm32wb55 的电源。我正在运行来自最新 stm32cube 的 PWR_STANDBY_RTC 示例。在待机状态下,我正在读取 900 uA。这似乎很高。我应该期待什么?
    发表于 12-20 07:24

    STM32WB55 MCU上的振荡器 一定要使用外部电阻吗?

    根据 STM32WB55 MCU 的数据表,振荡器电路有一个外部电阻。在许多 Nucleo 电路板原理图中,没有使用它。数据表说电阻器是为了避免过载电流。我如何决定超速还是必须限制电流?MCU不限流吗?附件中的原理图来自STM32WB Nucleo Board。
    发表于 01-04 08:04

    求助,STM32WB55有推荐的贴片天线吗?

    我将 STM32WB55 放入一个空间敏感的应用程序中,所以我希望事情越小越好。应用说明 (AN5129) 非常适用于 PCB 天线,但我希望芯片天线尽可能小(成本不是问题)。是否有任何推荐的 STM32WB 芯片天线(或者更好的,使用它们的参考设计)?谢谢!
    发表于 02-08 09:01

    STM32WB55开发板(一)单板设计-硬件介绍

    STM32WB55开发板(一)单板设计-硬件介绍目录STM32WB55开发板(一)单板设计-硬件介绍前言简介参数介绍MCU方面开发板方面
    发表于 12-01 18:06 16次下载
    <b class='flag-5'>STM32WB55</b><b class='flag-5'>开发</b>板(一)单板设计-硬件介绍

    STM32WB55在RT-Thread系统上移植官方蓝牙BLE功能

    STM32WB55在RT-Thread系统上移植官方蓝牙BLE功能硬件环境:(1)开发板:ST官方的stm32wb55-st-nucleo开发板软件环境:(1)
    发表于 12-04 12:51 17次下载
    <b class='flag-5'>STM32WB55</b>在RT-Thread系统上移植官方蓝牙BLE功能

    stm32wb55 基于rtt的ble sample制作过程

    stm32wb固件包开发环境keil MDKvscodertthread env概述本文的目的是将ST官方的STM32WB55 固件包里的BLE sample移植到RT-Thread,最终变为rtt生态的一个软件包,让更多
    发表于 12-20 19:39 12次下载
    <b class='flag-5'>stm32wb55</b> 基于rtt的ble sample制作过程

    STM32WB55_NUCLEO开发(3)----手机与STM32WB直接配对

    本篇文章主要介绍如何使用STM32CubeMX对生成STM32WB工程,并通过手机APP与其配对。
    的头像 发表于 11-18 09:57 844次阅读
    <b class='flag-5'>STM32WB55</b>_NUCLEO<b class='flag-5'>开发</b>(3)----手机与<b class='flag-5'>STM32WB</b>直接配对

    STM32WB55_NUCLEO开发(5)----手机与STM32WB通过键入密钥配对

    本篇文章主要介绍如何使用STM32CubeMX对生成STM32WB工程,并通过与STM32WB配对获取密钥值,然后通过键盘输入密钥进行配对。
    的头像 发表于 11-18 10:02 894次阅读
    <b class='flag-5'>STM32WB55</b>_NUCLEO<b class='flag-5'>开发</b>(5)----手机与<b class='flag-5'>STM32WB</b>通过键入密钥配对

    STM32WB55_NUCLEO开发(6)----手机与STM32WB通过配对后进行数值比较

    本篇文章主要介绍如何使用STM32CubeMX对生成STM32WB工程,并通过与STM32WB配对,查看STM32WB与手机端的数值是否相等。
    的头像 发表于 11-18 10:05 782次阅读
    <b class='flag-5'>STM32WB55</b>_NUCLEO<b class='flag-5'>开发</b>(6)----手机与<b class='flag-5'>STM32WB</b>通过配对后进行数值比较

    STM32WB55_NUCLEO开发(7)----手机与STM32WB进行绑定

    本篇文章主要介绍如何使用STM32CubeMX对生成STM32WB工程,并通过与STM32WB配对,将其绑定。
    的头像 发表于 11-18 10:08 894次阅读
    <b class='flag-5'>STM32WB55</b>_NUCLEO<b class='flag-5'>开发</b>(7)----手机与<b class='flag-5'>STM32WB</b>进行绑定

    STM32WB55_NUCLEO开发(8)----授权

    本篇文章主要介绍如何使用STM32CubeMX对生成STM32WB工程,并通过与STM32WB配对,应用程序对客户端读取或者写入特征值进行授权。
    的头像 发表于 11-18 10:09 827次阅读
    <b class='flag-5'>STM32WB55</b>_NUCLEO<b class='flag-5'>开发</b>(8)----授权

    使用STM32WB的客户产品认证

    使用STM32WB的客户产品认证
    发表于 11-21 08:11 0次下载
    使用<b class='flag-5'>STM32WB</b>的客户产品认证