这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【e起DIY】低功耗蓝牙温湿度计:介绍、环境搭建、工程测试

共1条 1/1 1 跳转至

【e起DIY】低功耗蓝牙温湿度计:介绍、环境搭建、工程测试

工程师
2026-05-20 21:09:39     打赏

【e起DIY】低功耗蓝牙温湿度计:介绍、环境搭建、工程测试

感谢 e 络盟和 EEPW 对物料采购的大力支持。

本文介绍了恩智浦 FRDM-MCXW71 开发板的相关信息,包括外观参数、资源分布、原理图等,并搭建 VS Code 和 Zephyr IDE 开发环境,实现闪灯和串口打印等工程测试。

介绍

FRDM-MCXW71 是一款紧凑且可扩展的开发板,可快速基于 MCX W71 无线 MCU 开展原型设计。

FRDM-MCXW71 可评估 MCX W71 对 BLE、Zigbee、Thread 和 Matter 的多协议无线支持。

FRDM-MCXW71 包括一个板载 MCU-Link 调试器、便于访问 MCU I/O 的行业标准头、一个加速度传感器、一个光传感器和一个外接 SPI 闪存。

包装

package.jpg


包括 MCXW71 开发板、Type-C转USB数据线、说明书;

package_open.jpg

开发板

Top view

top.jpg

Bottom view

bottom.jpg

资源分布

layout.jpg

参数特点

微控制器

  • MCX W71 Arm™ Cortex™ -M33内核,主频为96MHz,1MB的应用闪存,256KB radio flash

存储器扩展

  • MX25R6435FM2IL0 8 MB SPI闪存

连接

  • BLE、Zigbee、Thread和Matter

  • SPI/I²C/UART通过Arduino®、mikroBUS或Pmod™接头

  • CAN-FD收发器

调试

  • 带有CMSIS-DAP的板载MCU-Link调试器

  • JTAG/SWD连接器

传感器

  • FXLS8964AF三轴加速度传感器

  • ALS-PT19-315C/L177/TR8光传感器

扩展选项

  • Arduino®接头

  • mikroBUS™

  • Pmod™(未安装)

用户接口

  • RGB用户LED,复位、ISP、唤醒按钮

详见:使用MCUXpresso的FRDM-MCXW71开发板 | NXP 半导体 .

原理图

主控

SCH_mcu.jpg

Arduino 接口

SCH_Arduino.jpg

上电

开发板出厂程序为蓝牙串口控制板载 LED 颜色的示例程序;

  • 使用 Type-C 数据线连接开发板和电脑,板载 RGB LED 三色全亮,显示白色;

charge.jpg

  • 使用 IoT Toolbox APP 蓝牙连接开发板,串口发送 0、1、2、3、4 分别实现全亮、红、蓝、绿、全灭 LED 状态;

charge_demo.jpg

环境搭建

  • 下载 并安装 Visual Studio Code 软件;

  • vscode_logo.jpg

  • 安装 MCUXpresso for VS Code 扩展插件;

  • vscode_mcuxpresso_extension.jpg

  • Zephyr 开发环境需要一些主机依赖,比如:CMake、Python、Devicetree、Zephyr SDK 等。LinkServer还需要用NXP板载探头进行调试。

  • 打开MCUXpresso扩展。在快速启动面板中,点击“打开 MCUXpresso 安装程序”;安装 Zephyr Developer,包括 Zephyr SDK;安装 LinkServer ;

  • mcuxpresso_install_open.jpg

  • 重启 VS Code 以启用环境变量的更改。

  • 导入 Zephyr 仓库,在快速入门面板中点击导入仓库 ;

  • 选择 Zephyr 仓库,导入器默认使用最新的 Zephyr 版本。选择文件夹的位置和名称,完成后,点击导入。

import_zephyrproject.jpg

  • 导入成功后,仓库会被成功添加到导入仓库视图中,该过程需耐心等待相关文件下载;

详见:Zephyr lab installation and preparation — MCUXpresso for VS Code documentation .

  • 手机下载并安装 IoT Toolbox APP

iot_toolbox_logo.jpg

详见:IoT Toolbox for Android - NXP Community .

工程测试

这里以串口打印字符串示例工程,对搭建好的 Zephyr 开发环境进行测试。

  • 从 Zephyr 仓库导入 hello_world 应用,在 快速启动面板 中点击 “从仓库导入示例” ;

  • 选择开发板时,输入 mcxw71 以找到目标 frdm_mcxw71 开发板;

  • 选择示例时,输入 hello 即可找到应用 zephyr/samples/hello_world ;

  • 对于应用程序类型,选择存储库应用程序;

  • 点击导入,示例应会添加到项目视图中。

vscode_zephyr_import.jpg

工程代码

展开左侧 Projects 目录,点击 hello_world/Project Files/src/main.c 文件并打开

 #include <stdio.h>
 
 int main(void)
 {
  printf("Hello World! %s\n", CONFIG_BOARD_TARGET);
 
  return 0;
 }

保存代码。

工程构建

  • 点击“构建项目”图标即可构建项目;

  • 构建结束后,终端视图显示内存使用情况;

vscode_hello_project_build.jpg

调试上传

  • 点击 Debug 图标以调试应用程序:

hello_debug_button.jpg

右下角会弹出一个提示,询问VSCode是否应该下载SVD文件。SVD 文件用于在调试器中查看硬件外设寄存器。该文件包含所有外围寄存器的寄存器名称和位字段。SVD文件对这个Hello World实验室来说并不重要。选择“别再问”更快,也能避免下载。

  • 执行会暂停,VS Code 顶部会弹出一个调试工具栏。要继续执行,点击调试选项中的继续按钮;

vscode_debug_hello.jpg

效果演示

  • 将串行监视器连接到主板的 COM 端口,配置波特率 115200 bps ;

  • 点击 开始监视 ;

  • 串口打印 Hello World 字符串;

vscode_serial-monitor_print.jpg

闪灯

  • 从 Zephyr 仓库导入 blinky 工程,在 快速启动面板 中点击 “从仓库导入示例” ;

  • 选择开发板时,输入 mcxw71 以找到目标 frdm_mcxw71 开发板;

  • 选择示例时,输入 blink 即可找到应用 zephyr/samples/blinky ;

  • 对于应用程序类型,选择存储库应用程序;

  • 点击导入,示例应会添加到项目视图中。

sample_blink_import.jpg

代码

展开左侧 Projects 目录,点击 Blinky/Project Files/src/main.c 文件并打开

 #include <stdio.h>
 #include <zephyr/kernel.h>
 #include <zephyr/drivers/gpio.h>
 
 /* 1000 msec = 1 sec */
 #define SLEEP_TIME_MS   1000
 
 /* The devicetree node identifier for the "led0" alias. */
 #define LED0_NODE DT_ALIAS(led0)
 
 /*
  * A build error on this line means your board is unsupported.
  * See the sample documentation for information on how to fix this.
  */
 static const struct gpio_dt_spec led = GPIO_DT_SPEC_GET(LED0_NODE, gpios);
 
 int main(void)
 {
  int ret;
  bool led_state = true;
 
  if (!gpio_is_ready_dt(&led)) {
   return 0;
  }
 
  ret = gpio_pin_configure_dt(&led, GPIO_OUTPUT_ACTIVE);
  if (ret < 0) {
   return 0;
  }
 
  while (1) {
   ret = gpio_pin_toggle_dt(&led);
   if (ret < 0) {
    return 0;
   }
 
   led_state = !led_state;
   printf("LED state: %s\n", led_state ? "ON" : "OFF");
   k_msleep(SLEEP_TIME_MS);
  }
  return 0;
 }

保存代码。

构建上传

  • 点击“构建项目”图标即可构建项目;

  • 构建结束后,终端视图显示内存使用情况;

  • project_blinky_build.jpg

  • 点击 Debug 图标以调试应用程序:

blinky_print.jpg


效果演示

板载 LED 闪烁,且串口打印 LED 亮灭状态;

blink.gif

总结

本文介绍了恩智浦 FRDM-MCXW71 开发板的相关信息,包括外观参数、资源分布、原理图等,并搭建 VS Code 和 Zephyr IDE 开发环境,实现闪灯和串口打印等工程测试,为相关产品的快速开发和功能测试提供了参考。

再次感谢 e 络盟和 EEPW 对物料采购的大力支持。





关键词: 蓝牙     vscode     开发板     活动     DIY    

共1条 1/1 1 跳转至

回复

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