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

发布者:MagicalSerenade最新更新时间:2024-08-01 来源: elecfans关键字:STM32WB 手机看文章 扫描二维码
随时随地手机看文章

概述

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


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


硬件准备

首先需要准备一个开发板,这里我准备的是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扣电平变化。

在这里插入图片描述

在这里插入图片描述


关键字:STM32WB 引用地址:STM32WB55开发(1)----监测STM32WB连接状态

上一篇:STM32的HAL与LL库能共同使用(混用)吗?
下一篇:在Keil中使用STM32CubeProgrammer

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved