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

基于STM32WB55使用STM32CubeMX生成应用程序连接手机APP

[复制链接]
攻城狮Melo 发布时间:2023-4-11 18:16
概述
    本篇文章主要介绍如何使用STM32CubeMX对生成STM32WB工程,并通过手机APP与其连接。

微信图片_20230411181927.png

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

微信图片_20230411181611.png

选择芯片型号
微信图片_20230411181603.png
配置时钟源
HSE与LSE分别为外部高速时钟和低速时钟,在本文中使用外置的时钟源,故都选择Crystal/Ceramic Resonator选项,如下所示:

微信图片_20230411181559.png

配置时钟树

微信图片_20230411181555.png

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

微信图片_20230411181550.png

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

微信图片_20230411181546.png


    开启HSEM如下。

微信图片_20230411181532.png

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

微信图片_20230411181536.png

   
    开启如下所示。

微信图片_20230411181542.png

配置RCC

222.png

启动RF

微信图片_20230411181456.png

配置USART

    我们需要串口来打印数据,以方便我们查看信息。
    查看原理图可以的是PB6和PB7与ST_Link链接在一起,且为串口打印端口。

微信图片_20230411181451.png

微信图片_20230411181447.png

    开启DMA。

333.png

    开启中断。

微信图片_20230411181441.png

开启STM32_WPAN
    由于我们使用的是蓝牙,故勾选BLE。

微信图片_20230411181437.png

    配置自定义模板。

微信图片_20230411181432.png

    设置串口1跟踪。

微信图片_20230411181427.png

    关闭MX_USART1_UART_Init函数的生成。

微信图片_20230411181423.png

    启用串口1的tx的DMA。

112.png

    启动串口1调试跟踪。

微信图片_20230411181419.png

    启用应用程序中的跟踪  。

微信图片_20230411181411.png

    设置蓝牙名称,名称为MY_BLE_DEV。

微信图片_20230411181407.png

    设置服务器配置。

微信图片_20230411181403.png

    设置特征名称。

微信图片_20230411181330.png

    使能特征值读取。

微信图片_20230411181317.png

    关闭GATT事件的返回。

微信图片_20230411181311.png

设置RTC和RF的时钟。

微信图片_20230411181305.png

设置工程信息

微信图片_20230411181302.png

工程文件设置

微信图片_20230411181233.png

Keil工程配置

微信图片_20230411181223.png
代码配置
    在main.c中添加如下头文件。
  1. /* USER CODE BEGIN Includes */
  2. #include "stm32_seq.h"
  3. /* USER CODE END Includes */
复制代码

    UTIL_SEQ_Run(UTIL_SEQ_DEFAULT)函数应该在应用程序的while循环中,启动任务调度。
  1.   /* USER CODE BEGIN WHILE */
  2.   while (1)
  3.   {
  4.     /* USER CODE END WHILE */
  5.     MX_APPE_Process();

  6.     /* USER CODE BEGIN 3 */
  7.     UTIL_SEQ_Run(UTIL_SEQ_DEFAULT);
  8.   }
  9.   /* USER CODE END 3 */
  10. }
复制代码

    在app_entry.c中添加初始化 APPD_Init()。
  1. void MX_APPE_Init( void )
  2. {
  3.   System_Init( );       /**< System initialization */

  4.   SystemPower_Config(); /**< Configure the system Power Mode */

  5.   HW_TS_Init(hw_ts_InitMode_Full, &hrtc); /**< Initialize the TimerServer */

  6. /* USER CODE BEGIN APPE_Init_1 */
  7.     APPD_Init();
  8. /* USER CODE END APPE_Init_1 */
  9.   appe_Tl_Init();  /* Initialize all transport layers */

  10.   /**
  11.    * From now, the application is waiting for the ready event ( VS_HCI_C2_Ready )
  12.    * received on the system channel before starting the Stack
  13.    * This system event is received with APPE_SysUserEvtRx()
  14.    */
  15. /* USER CODE BEGIN APPE_Init_2 */

  16. /* USER CODE END APPE_Init_2 */
  17.    return;
  18. }
复制代码


结果演示
    下载完程序后,可以看到串口打印固件版本等信息。

微信图片_20230411181207.png

    打开ST BLE ToolBox软件,可以看到该蓝牙已经可以搜索到。

微信图片_20230411181203.png

    点击connect进行连接。
    连接之后可以看到串口打印了连接事件。

微信图片_20230411181159.png

    同时手机也显示该蓝牙模块连接成功。

微信图片_20230411181153.jpg

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





微信图片_20230411181212.png
微信图片_20230411181340.png
微信图片_20230411181507.png
收藏 评论0 发布时间:2023-4-11 18:16

举报

0个回答

所属标签

相似分享

官网相关资源

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