这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【EEPW-Let's design】从点灯到心率广播:STM32WBA62CI

共1条 1/1 1 跳转至页

【EEPW-Let's design】从点灯到心率广播:STM32WBA62CIU6自制Nucleo评估板的LED/串口/BLE心率计测试

菜鸟
2026-10-12 22:14:58     打赏

1. 测试目标与工具链

继第一篇完成基本的硬件设计与点亮后,我们继续用这一块自制的 STM32WBA62CIU6 Nucleo 风格评估板做第二轮进阶功能验证:  

  • LED:确认 GPIO 方向、时钟与 HAL 工作正常;  

  • 串口:确认下载调试之外的基础 I/O 通路可用;  

  • 蓝牙 BLE:验证无线链路与官方协议栈/例程兼容性。
    工具链:STM32CubeMX 生成工程 + MDK(Keil) 编译下载,SWD 用外接调试器;串口用 USB‑TTL 模块配合调试助手;手机端用 nRF Connect。


2. LED + 串口

2.1 关键代码

int main(void)
{

  /* USER CODE BEGIN 1 */

  /* 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();
  MX_ICACHE_Init();
  MX_LPUART1_UART_Init();
  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
    HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);
    printf("Hello WBA62\r\n");
    HAL_Delay(500);
  }
  /* USER CODE END 3 */
}

我把 LED 闪烁与串口打印放在同一个 while(1) 循环里,做到“肉眼可见 + 文本可见”的双重验证。核心逻辑是每 500ms:  

  • 翻转 LED 引脚;  

  • printf("Hello WBA62\r\n"); 输出一行。

2.2 操作步骤

  1. CubeMX 建立工程,打开 HAL,配置系统时钟;  

  2. 配置 LED 对应 GPIO 为推挽输出;  

  3. 打开 LPUART1,设定波特率并生成代码;  

  4. 在工程里做 printf 重定向(将 fputc / _write 指向 UART 发送);  

  5. 编译下载后观察两点:LED 是否稳定闪烁、串口是否稳定输出。

2.3 实验结果

经实验LED正常闪烁,串口可稳定输出。  

uart.png

本章测试通过后,说明:基础时钟、GPIO、UART、下载链路都没问题,可以进入 BLE 例程验证。


3. BLE:移植官方 BLE_HeartRate 例程进行验证

3.1 为什么选 BLE_HeartRate

蓝牙配置项多、踩坑点多(射频时钟、协议栈、中间件、内存布局等)。为了提高成功率,我没有从空工程搭建,而是选用官方 STM32WBA65 的 BLE_HeartRate 例程做“可运行基线”,再移植到 WBA62。

3.2 移植方法

  1. 获取官方 BLE_HeartRate 工程并在 MDK 打开;  

  2. 在 MDK 工程里修改器件型号为 STM32WBA62CIU6(尽量不动中间件与应用层逻辑);  

  3. 核对启动文件/链接脚本:重点关注 Flash/RAM 大小与地址映射,保证能正常启动与运行;  

  4. 编译下载,观察是否开始广播;

ble.png

3.3 现象验证:nRF Connect 连接与服务浏览

下载运行后,用手机 nRF Connect 扫描到设备并连接:  

  • 能看到 Heart Rate 相关服务;  

  • 可订阅/读取特征值,证明广播、连接、GATT 服务流程正常。

Screenshot_2026-09-29-21-44-33-169_no.nordicsemi.android.mcp.jpg


4. 小结

本次测试用两个层级快速收敛风险:先用 LED+串口验证“基础外设与工程框架”,再用 BLE_HeartRate验证“协议栈与无线链路”。自制板在不带 ST‑LINK 的精简架构下仍可稳定下载、稳定打印,并可直接运行官方 BLE 例程完成手机连接,射频软硬件可以正常运行。





关键词: Let's design     STM32WBA6     蓝牙    

共1条 1/1 1 跳转至页

回复

匿名不能发帖!请先 [ 登陆 注册 ]