Nucleo-WB09KE 工程测试
ST 一如既往的简约包装,瓦楞纸盒,内部填充蜂窝牛皮纸用以固定开发板,减缓运输过程中的振动。开发板置于防静电袋内,以保护板载器件避免静电伤害。说明书上的二维码链接,指向开发板官网 NUCLEO-WB09KE .
开发板简介
实物展示
描述
NUCLEO-WB09KE 是一款低功耗蓝牙®和超低功耗板,嵌入了符合低功耗蓝牙® SIG 规范 v5.4 的强大且超低功耗的无线电。
主控芯片为 ARM 架构 STM32F723IEK6 ,性能强悍。
ARDUINO® Uno V3 连接支持和 ST morpho 接头允许通过多种专用扩展板轻松扩展 STM32 Nucleo 开放式开发平台的功能。
功能
- 基于 Arm® Cortex-M0®+ 内核的超低功耗无线 STM32WB09KE 微控制器,具有 512 KB 闪存和 64 KB SRAM,采用VFQFPN32封装
- MCU 射频板 (MB2032):
- 支持蓝牙®规范 v5.4 的 2.4 GHz 射频收发器
- 内置 PCB 天线
- 三个用户 LED
- 3 个用户按钮和 1 个复位按钮
- 板连接器:
- USB Type-C® 接口
- ARDUINO® Uno V3 扩展连接器
- ST morpho 接头,可完全访问所有 STM32 I/O
- 灵活的电源选项:ST-LINK USB VBUS 或外部电源
- 板载 STLINK-V3EC 调试器/编程器,具有 USB 重新枚举功能:大容量存储、虚拟 COM 端口和调试端口
- STM32CubeWB0 MCU 软件包提供全面的免费软件库和示例
- 支持多种集成开发环境 (IDE),包括 IAR Embedded Workbench®、MDK-ARM 和 STM32CubeIDE
优势
- 高无线性能
- 一流的无线电,实现稳健稳定的连接
- 最先进的无线电效率
- IoT 设备上的电源控制选项可延长电池寿命
- 成本效益
- 最优价格点确保功能可用性的最佳价值
- 在微型封装中实现高度集成(集成巴伦和 HSE 电容器)
- 支持 2 层 PCB,以减少 BOM 并简化电路
- 广泛的无线设计生态系统
- 借助 STM32Cube 简化项目开发
- 射频参考设计、IPD 芯片,便于阻抗匹配
- 低功耗蓝牙®和 Mesh 堆栈、软件、工具和资源。
原理图
LED
按键
注意事项
Type-C接口旁边的拨动开关功能如下
- 位置 [1-2]:这是默认位置。电压源是提供 3.3 V 电压的 U4 LDO
- 位置 [3-2]:电源是注入 VIN、5V_EXT 或 VEXT 的电压,具体取决于 SB20、SB21、SB22 和 SB33 配置。强烈建议永远不要使用此配置,因为没有系统来确保电压值正确。
详见:用户手册 .
上电测试
使用 USB 转 Type-C 数据线连接开发板与电脑,实现开发板供电和通信等功能,在连接前应对开发板进行硬件检查,确保关键跳帽位置、开关位置等配置正确,避免电压不匹配导致元器件和芯片过载。
硬件检查
ST-Link 固件更新
成功识别端口后,使用 STM32CubeProgrammer
软件对板载 STLink
进行更新,
点击 Firmware upgrade
按键,选中目标端口,
点击 Open in upgrade mode
,再点击 Upgrade
按钮执行升级操作。
升级成功
工程测试
下载和安装 STM32CubeMX 和 STM32CubeWB 软件
选择新建开发板工程,此时软件会对已有库文件进行自动检测、更新、下载、安装
输入型号检索目标开发板 - 单击选定目标板 - Start Project
进入图形配置界面,点击目标 GPIO 引脚即可选择对应功能并实现定义;
左侧选项可对系统核心、定时器等进行具体配置;
之后进行时钟配置
进入工程管理,实现文件保存自定义配置
点击右上角 Generate Code
生成对应 IDE 工程文件,并弹窗打开工程,即可进行二次开发。
Keil Debug 设置
若选择 MDK-ARM 作为编译器,则使用 Keil 打开工程文件,
若 Keil 未检测到工程对应的设备库文件,则自动开启下载,待其下载安装完成即可关闭 Pack Installer,也点击菜单栏中的快捷按钮进入,检索缺失的包安装即可。
在 Application/User/Core
文件夹下打开 main.c
文件
在 /* USER CODE BEGIN 3 */
和 /* USER CODE END 3 */
之间添加目标代码。
点击魔术棒进入 Options for target
进入 Debug
,选择 ST-Link Debugger
,点击 Setting
,进行如下配置
注意到 SWDIO 能够正确识别芯片 ID 代码和设备名称,表明此时可进行程序调试和下载。
代码
main.c
文件主循环中添加闪灯程序如下
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOB, LD_RED_Pin|LD_BLUE_Pin|LD_GREEN_Pin, GPIO_PIN_RESET);
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOB, LD_RED_Pin|LD_BLUE_Pin|LD_GREEN_Pin, GPIO_PIN_SET);
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
或
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
printf("WB09KE runing \r\n");
BSP_LED_Toggle(LD1);
HAL_Delay(300);
BSP_LED_Toggle(LD2);
HAL_Delay(300);
BSP_LED_Toggle(LD3);
HAL_Delay(300);
}
/* USER CODE END 3 */
点击 Rebuild
按钮编译程序。
程序烧录
效果展示
串口打印