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扣电平变化。

在这里插入图片描述

在这里插入图片描述

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

    关注

    114

    文章

    5765

    浏览量

    169796
  • 监测
    +关注

    关注

    2

    文章

    3525

    浏览量

    44437
  • BLE
    BLE
    +关注

    关注

    12

    文章

    652

    浏览量

    59334
  • 连接
    +关注

    关注

    2

    文章

    95

    浏览量

    20949
  • STM32WB55
    +关注

    关注

    0

    文章

    25

    浏览量

    1305
收藏 人收藏

    评论

    相关推荐

    STM32WB55开发(3)----断开蓝牙连接

    在嵌入式领域中,STM32WB 系列微控制器以其双核架构和强大的无线连接能力而著称。特别是其蓝牙5.0的功能使得这款微控制器非常适合那些需要低功耗和高性能无线连接的应用。然而,在实际的应用中,合理
    的头像 发表于 12-01 15:43 1060次阅读
    <b class='flag-5'>STM32WB55</b><b class='flag-5'>开发</b>(3)----断开蓝牙<b class='flag-5'>连接</b>

    STM32WB55开发(4)----配置串口打印Debug调试信息

    STM32WB55系列微控制器上进行开发时,实时监控应用程序的运行情况和调试潜在问题是至关重要的。使用串口(USART/UART)进行Debug信息打印是一种简便、高效的方法。下面是如何在STM32WB55上配置串口来打印调试
    的头像 发表于 12-01 15:48 1193次阅读
    <b class='flag-5'>STM32WB55</b><b class='flag-5'>开发</b>(4)----配置串口打印Debug调试信息

    STM32WB55开发板单板设计

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

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

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

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

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

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

    STM32WB55在RT-Thread系统上移植官方蓝牙BLE功能硬件环境:(1开发板:ST官方的stm32wb55-st-nucleo开发
    发表于 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 13次下载
    <b class='flag-5'>stm32wb55</b> 基于rtt的ble sample制作过程

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

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

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

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

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

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

    使用STM32WB的客户产品认证

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

    STM32WB系列的固件升级服务

    STM32WB系列的固件升级服务
    发表于 11-21 08:11 4次下载
    <b class='flag-5'>STM32WB</b>系列的固件升级服务

    应用笔记 | STM32WB基于Custom Template实现客户定制BLE私有协议

    关键字:STM32WB,BLE私有协议,定制   目录预览 1.引言 2. STM32CubeMx 实现步骤 3.测试平台搭建及功能测试 4.小结 0 1 引言
    的头像 发表于 10-08 17:40 1409次阅读