【NUCLEO-WBA65RI评测】介绍、环境搭建、工程测试
本文对 NUCLEO-WBA65RI 开发板进行了展示和相关介绍,包括外观、系统框图、资源分布、功能、原理图等。此外,介绍了开发环境的搭建、新建工程、代码修改、编译上传等流程。
介绍
NUCLEO-WBA65RI 是低功耗蓝牙无线和超低功耗板,嵌入了功能强大的超低功耗无线电,符合蓝牙低功耗 SIG 规范 v5.4、IEEE 802.15.4-2015 PHY 和 MAC,支持 Thread、Matter 和 Zigbee .

ARDUINO Uno V3 连接支持和 ST morpho 接头允许通过多种专用扩展板选择轻松扩展 STM32 Nucleo 开放式开发平台的功能。
外观
top view

bottom view

功能
- 基于 Arm Cortex-M33 内核的超低功耗无线 STM32WBA 系列微控制器,具有
- 2 MB 闪存和 512 KB SRAM 采用 NUCLEO-WBA65RI 的 VFQFPN68 封装;
- MCU射频板(MB1863/MB1803/MB2130):
- 支持蓝牙规范 v5.4 的 2.4 GHz 射频收发器
- IEEE 802.15.4-2015 PHY 和 MAC,支持 Thread、Matter 和 Zigbee(用于 NUCLEO-WBA55CG 和 NUCLEO-WBA65RI)
- Arm Cortex-M33 CPU,配备 TrustZone、MPU、DSP 和 FPU
- 集成PCB天线
- 三个用户 LED
- 三个用户按钮和一个复位按钮
- 板连接器:
- USB Micro-B (NUCLEO-WBA52CG) 或 USB Type-C (NUCLEO-WBA55CG 和 NUCLEO-WBA65RI)
- ARDUINO Uno V3 扩展连接器
- 意法半导体 morpho 接头,可完全访问所有 STM32 I/O
- 灵活的电源选项:ST-LINK USB V总线或外部来源
- 板载 STLINK-V3 调试器/编程器,具有 USB 重新枚举功能:大容量存储、虚拟COM 端口和调试端口
- STM32 Cube WBA MCU包提供全面的免费软件库和示例
- 支持多种集成开发环境 (IDE) 选择,包括 IAR Embedded Workbench、MDK-ARM 和 STM32CubeIDE
详见:NUCLEO-WBA65RI | Product - STMicroelectronics
硬件框图

资源分布
Top PCB

Bottom PCB

原理图
包括主控MCU、Boot时钟、STLINK调试器、供电等。
MCU

Boot

Debugger

Power

Arduino Pinout

RF Connector

详见:CAD资源 | NUCLEO-WBA65RI .
环境搭建
这里介绍 ST 官方建议的编译开发环境的搭建流程。
(1)下载并安装 STM32CubeIDE ;
(2)下载并安装 STM32CubeMX ;
新建工程
- 打开 STM32CubeMX 软件,选择从板卡新建工程;
- 搜索并选择 NUCLEO-WBA65RI 板卡,加载外设配置;
- 选择目标编译器为 STM32CubeIDE,点击 Generate Code 并打开工程;
- 使用 Type-C 数据线连接板卡和电脑;
首次连接 STLINK 调试器会提示自动升级

工程测试
根据原理图可知,板载三个用户 LED 可用于自定义配置;
这里直接调用 STM32CubeMX 官方定义的 BSP_LED_Toggle() 函数实现 LED 状态控制;

流程图

代码
打开 .../Core/Src/main.c 文件,添加如下代码
int main(void)
{
/* USER CODE BEGIN 1 */
int count = 0;
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Initialize leds */
BSP_LED_Init(LED_BLUE);
BSP_LED_Init(LED_GREEN);
BSP_LED_Init(LED_RED);
/* Initialize USER push-button, will be used to trigger an interrupt each time it's pressed.*/
BSP_PB_Init(B1, BUTTON_MODE_EXTI);
BSP_PB_Init(B2, BUTTON_MODE_EXTI);
BSP_PB_Init(B3, BUTTON_MODE_EXTI);
/* Initialize COM1 port (115200, 8 bits (7-bit data + 1 stop bit), no parity */
BspCOMInit.BaudRate = 115200;
BspCOMInit.WordLength = COM_WORDLENGTH_8B;
BspCOMInit.StopBits = COM_STOPBITS_1;
BspCOMInit.Parity = COM_PARITY_NONE;
BspCOMInit.HwFlowCtl = COM_HWCONTROL_NONE;
if (BSP_COM_Init(COM1, &BspCOMInit) != BSP_ERROR_NONE)
{
Error_Handler();
}
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
BSP_LED_Toggle(LED_BLUE);
printf("Toggle %d\r\n",count);
HAL_Delay(500);
count++;
}
/* USER CODE END 3 */
}
保存代码。
编译上传
- 右键工程文件夹,选择编译工程;
- 右键工程文件夹,选择调试或运行工程;
- 输出上传成功字样,此时程序自动运行

效果
板载蓝色 LED 闪烁,间隔 500 毫秒;

同时串口打印翻转电平的次数

总结
本文对 NUCLEO-WBA65RI 开发板进行了展示和相关介绍,包括外观、系统框图、资源分布、功能、原理图等。此外,介绍了开发环境的搭建、新建工程、代码修改、编译上传等流程,为该产品的开发设计和应用提供了参考。 |