你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于STM32WB55开发之监测STM32WB连接状态(1)

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

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

微信图片_20231116144815.png


选择芯片型号

微信图片_20231116144811.png

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

微信图片_20231116144807.png

配置时钟树

微信图片_20231116144804.png

RTC时钟配置

微信图片_20231116144800.png

RFWKP时钟配置

微信图片_20231116144757.png



查看开启STM32_WPAN条件
可以看到,需要开启RF、RTC、RCC、IPCC、HSEM。

微信图片_20231116144753.png


配置HSEM
硬件信号量(HSEM)模块用于管理多个进程之间共享的访问权限和资源同步。
开启HSEM如下。

微信图片_20231116144750.png

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

微信图片_20231116144746.png

配置RTC

微信图片_20231116144743.png

启动RF

微信图片_20231116144740.png

开启蓝牙

微信图片_20231116144737.png

配置为自定义模板。

微信图片_20231116144727.png

命名设备名

微信图片_20231116144723.png

配置BLE GATT

微信图片_20231116144718.png

配置SVC

微信图片_20231116144715.png

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

微信图片_20231116144711.png


配置PB0、PB1为输出IO。

微信图片_20231116144708.png

设置工程信息

微信图片_20231116144705.png

工程文件设置

微信图片_20231116144655.png

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连接状态的重要手段,从而使我们能够更好地管理设备的连接生命周期。”

  1.       /* USER CODE BEGIN EVT_DISCONN_COMPLETE */
  2.       HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_1);
  3.       /* USER CODE END EVT_DISCONN_COMPLETE */
复制代码

微信图片_20231116144633.png


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

微信图片_20231116144629.png

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

微信图片_20231116144626.png

微信图片_20231116144622.png

转载自: 记帖如有侵权请联系删除



收藏 评论0 发布时间:2023-11-16 14:48

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版