本帖最后由 YukkiAsuka 于 2025-11-20 18:40 编辑
本笔记记录了我使用 Microchip WFI32 + MPLAB Harmony 3 进行 Wi-Fi STA 模式调试的过程。
由于 WFI32 的资料相对分散,新版本的 Harmony 3 与旧示例不完全兼容,我在调试过程中踩了非常多的坑。
本篇以学习笔记形式记录从 MCC 无法下载 WiFi 模块 → 替代方案 → 编译 → 串口调试 → Wi-Fi 连接成功 → Ping 测试 的完整经历。
自建工程文件的时候,我发现MCC中的WiFi模块无法正常下载,
这意味着我无法通过 MCC 自动生成 WFI32 的 WiFi 配置,也无法顺利创建全新的工程。
作为替代方案,我使用了 Microchip 官方提供的 Harmony 3 Wireless 示例工程,仓库地址如下:
https://github.com/Microchip-MPLAB-Harmony/wireless_apps_pic32mzw1_wfi32e01?utm_source=chatgpt.com
这个仓库包含了WiFi STA / AP / WiFi+CAN / BLE-WiFi 等完整示例,并且已配好 Harmony 3 的所有依赖(WiFi 驱动、TCP/IP、系统服务)
下载完成后,尽量不要解压在 带有中文名称或空格的路径,并且该压缩包内文件层级较多,如果解压路径太深,可能会导致无法正常解压。
一、开发环境与硬件准备
在这里我使用的是:
WFI32E01 Curiosity 开发板
MPLAB X IDE v6.25
XC32 v4.0
MPLAB Harmony 3 Framework(Wireless Package)
以及串口助手(串口调试器就行)
二、前期调试的踩坑
1、MCC配置
我原本计划通过 MCC 自动生成工程。
但是打开 MCC 的 Content Manager 后发现:
Harmony 组件正常
Wi-Fi 相关模块无法下载或报错
无论刷新、切换版本都无法解决
如下图所示,Wi-Fi 模块始终无法装上:
因此,我决定使用官方示例工程,这样可以跳过自己使用 MCC 自动生成工程的过程。
(使用官方例程的话不要在本地没有安装对应版本的Harmony 包强行打开MCC)
2、该仓库中文件层级极深,直接解压会出现部分.c、.h文件缺失
就像下图显示的一样
解决方法正如开篇说的那样,解压在文件层级较低的文件夹中,例如F:\\wifi
这个200MB的压缩包解压后会膨胀到1G,小心C盘空间
正常解压后,会包含很多例程,
我使用的例程目录是wireless_apps_pic32mzw1_wfi32e01-master\apps\wifi_sta\firmware
这是一个已经配置好的 Wi-Fi Station 模式示例,适合快速验证网络功能。 打开后编译并烧录进开发板
三、调试过程(联网测试)
将 WFI 32开发板连接PC后
打开设备管理器可以找到
可以看到多出了两个COM10和COM11端口
PICkit 4 On Board Virtual COM Port是调试器自带的串口
这个串口通常用于MPLAB X 调试通信,是Microchip 内部调试功能(开发板上“on-board debugger”创建的虚拟端口)
使用开发板的 UART 控制台时,串口助手选择:USB 串行设备
配置一下串口:
波特率115200,数据位8,停止位0,校验位无
就可以开始调试了(使用文本模式,文本编码只要能显示英文,大概率没问题)
输入wlan scan active 0对附近Wi-Fi进行扫描
我使用的是手机热点MetallicFox, (校园网经常有 portal 登录或隔离,不适合测试 IoT 设备)
PS: 不能使用中文 SSID要不然会乱码
然后再端口助手里输入下述指令
wlan config MetallicFox 6 0 wpa2 12345678
(这行命令的内容是wlan config <SSID> <Channel> <SecurityMode> <AuthType> <Password>)
wlan save config
wlan connect
如果操作正确的话,会得到
可以看到,开发板的DHCP IP是10.172.37.7,手机热点上显示的是
将PC连接到相同网络,打开命令行可以ping出设备的延迟
@麦小播
|