当前位置: 首页 > article >正文

STM32WB55RG开发(3)----生成 BLE 程序连接手机APP

STM32WB55RG开发----3.生成 BLE 程序连接手机APP

  • 概述
  • 硬件准备
  • 视频教学
  • 样品申请
  • 源码下载
  • 参考程序
  • 选择芯片型号
  • 配置时钟源
  • 配置时钟树
  • RTC时钟配置
  • RF wakeup时钟配置
  • 查看开启STM32_WPAN条件
  • 配置HSEM
  • 配置IPCC
  • 配置RTC
  • 启动RF
  • 开启蓝牙
  • 设置工程信息
  • 工程文件设置
  • 结果演示

概述

本项目旨在利用 STM32WB55 微控制器的蓝牙低功耗(BLE)功能,实现与手机 APP 的无线连接。通过配置时钟源、启动关键模块(如 RCC、RTC、RF、IPCC 和 HSEM),以及启用蓝牙功能,用户可以创建一个稳定的 BLE 连接。此连接可用于数据交换和远程控制等应用场景。

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

硬件准备

首先需要准备一个开发板,这里我准备的是自己绘制的开发板,需要的可以进行申请。
主控为STM32WB55RGV6

在这里插入图片描述

视频教学

https://www.bilibili.com/video/BV1NcmBYCEDt/

STM32WB55RG开发(3)----生成 BLE 程序连接手机APP

样品申请

https://www.wjx.top/vm/OhcKxJk.aspx#

源码下载

参考程序

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

在这里插入图片描述

设置工程信息

在这里插入图片描述

工程文件设置

在这里插入图片描述

结果演示

在手机APP可以收到该蓝牙设备。

在这里插入图片描述

连接后如下所示。

在这里插入图片描述


http://www.kler.cn/a/391305.html

相关文章:

  • 华为机试HJ39 判断两个IP是否属于同一子网
  • TensorRT基础知识
  • 测试实项中的偶必现难测bug--验证码问题
  • 【go从零单排】Random Numbers、Number Parsing
  • 应对JSON解析键值对乱序问题的实用解决方案
  • 程序员年薪百万秘籍(一)
  • Linux开发讲课49--- Linux 启动过程分析
  • 刘铁猛C#入门 024 类的声明,继承和访问控制
  • 微澜:用 OceanBase 搭建基于知识图谱的实时资讯流的应用实践
  • Nebula NGQL语言的使用 一
  • LabVIEW 实现 find_nearest_neighbors 功能(二维平面上的最近邻查找)
  • vue-h5:在h5中实现相机拍照加上身份证人相框和国徽框
  • 智能科技赋能金融决策:中阳科技的数据分析解决方案
  • [免费]SpringBoot+Vue3校园宿舍管理系统(优质版)【论文+源码+SQL脚本】
  • vue3 富文本组件(MDEditor)在拖拽组件(vuedraggable)点击功能失效问题
  • Python 操作 Neo4J,Python 库 Py2Neo
  • (三)【 Python最牛 -Basemap】使用Basemap进行地图可视化
  • 项目管理人员的自我评估与职业目标设定
  • Knife4j调试全局对象参数自动化
  • A算法详解(go实现)
  • 【服务器】本地安装X11 服务器-Windows
  • 【学习】【HTML】HTML、XML、XHTML
  • Spring Boot编程训练系统:核心特性与实现策略
  • 《JVM第10课》内存溢出(OOM)排查过程
  • Rust 生态系统的未来与学习方向
  • 【Android、IOS、Flutter、鸿蒙、ReactNative 】约束布局