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

【ST WBA Application】使用CubeMX开发蓝牙应用——硬件配置

[复制链接]
EPTmachine 发布时间:2025-7-3 23:18

参考STM32MCU Wiki上的说明,分享如何使用CubeMX创建WBA芯片的BLE应用工程。

https://wiki.st.com/stm32mcu/wiki/Connectivity:STM32WBA_BLE_STM32CubeMX

基于STM32WBA硬件的BLE应用的功能框图如下,应用代码分为多个不同的模块,可以借助STM32CubeMX生成其中的大部分代码,提高开发效率。

STM32WBA_P2PServer_Stack.png

GATT服务应用是蓝牙应用的常见应用。构建应用程序的流程分为以下几步

  1. 使用STM32CubeMX初始化STM32WBA Nucleo Board
  2. 使能需要的系统资源和外设,用于实现BLE应用程序
  3. 设置C代码生成选项,比如工程名、IDE和固件存放位置
  4. BLE应用的配置,比如广播参数、服务和特征

借助STM32CubeMX的功能,实现一个GATT应用,提供LED控制以及按键发送信息的P2P Server。

800px-Connectivity_WBA_CMX_Custom_Service.jpg

1、STM32CubeMX初始化相关外设

在STM32CubeIDE中创建基于STM32WBA65RIV7的新工程

MCU_Select.png

指定工程名称

Project_Name.png

要开启芯片的BLE模式,需要开启以下硬件资源:

  • ADC4:开启温度传感器通道。默认情况下PHY校正是基于温度的,所以必须开启温度传感器通道;
  • CRC:使能硬件校验,用于BLE数据传输校验和存储检查;
  • RAMCFG:开启SRAM1,用于在切换低功耗模式时,修改RAM的配置。
  • ICACHE: 使能1-way(direct mapped cache),提高代码执行效率
  • RNG: 开启硬件随机数发生器,BLE的Linker Layer需要频繁调用该功能;
  • RCC: 配置外部HSE和LSE晶振,同时在应用中动态调整系统的时钟配置;
  • RF: 开启射频功能,用于实现BLE的无线电信号发射;
  • RTC: 开启RTC时钟,用于提供在低功耗模式下的唤醒功能;
  • NVIC: 配置中断,管理工程中使用到的外设的中断设置;

另外,为提供log信息和降低CPU负载,开启以下外设:

  • USART1: 用于在串口控制台显示调试信息;
  • GPDMA1: 用于实现不同外设之间的数据传输,减轻CPU负载

1.1 启动STM32_WPAN扩展包

在Middleware and Software Packs选择"STM32_WPAN",在BLE选项卡中选择“Create your Peripheral & GATT server application”,设定该选项后会自动配置RAMCFG、ICAHCHE、RF、RTC等模块,提高工作效率。

STM32_WPAN_Setting.png

1.2 ADC4设置

STM32WBA65的ADC4是12位ADC,其内部采样通道可以对MCU的温度传感器数据进行采样。PHY校准需要温度信息,因此必须开启温度传感器通道。

ADC4——Setting.png

1.3 CRC设置

CRC用于BLE数据传输校验以及存储完整性检查,在CRC标签中进行以下配置。

CRC_Setting.png

其中CRC的多项表达式为“X12+X11+X10+X8+X7+X5+X4+X2+X1+X0”

1.4 USART1设置

在USART1选项卡中,设置串口的工作模式为Asynchronous异步模式,并设置窗口的过采样周期为8 samples

USART1_Setting.png

在USART1的NVIC选项卡中开启串口的全局中断。

USART1_Setting2.png

1.5 GPDMA1设置

设置GPDMA1的Channel 0和Channel

GPDMA1_Setting1.png

在Chnannel 0的选项卡中进行如下配置,设定USART1_TX的DMA传输

GPDMA1_Setting2.png

在Chnannel 1的选项卡中进行如下配置,设定USART1_RX的DMA传输

GPDMA1_Setting3.png

1.6 NVIC设置

在NVIC选项卡查看不同的中断配置的优先级,修改USART1和GPDMA1的中断优先级

NVIC_Setting.png

2、总结

使用STM32CubeMX可以很快地配置应用的外设,图形化的界面便于理解和管理MCU的硬件配置。

收藏 评论0 发布时间:2025-7-3 23:18

举报

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