封装引脚图_W800
封装引脚图_W600
封装引脚图_STM32F103C8T6
PIN | STM32 | W600(SPI_0) | W600(SPI_1) | W800(SPI_H) |
INT | PA02 | PB14 | PB09 | PB07 |
CS | PA04 | PB15 | PB10 | PB09 |
CLK | PA05 | PB16 | PB08 | PB06 |
MOSI | PA07 | PB17 | PB11 | PB10 |
MISO | PA06 | PB18 | PB12 | PB11 |
STM32 UART1 可查看打印的日志信息。(波特率 115200,8,N,1)
STM32 | USB转TTL |
PA09 (TX) | RX |
PA10 (RX) | TX |
VCC | VCC |
GND | GND |
注:强烈建议在SPI信号线上面串联100Ω的电阻,减少通讯间的干扰。
1. 在此可以打开或关闭STM32串口DEBUG调试输出
2. 首先在STM32代码主函数打开宏定义,测试SPI通讯是否正常。
3. STM32串口打印数据
E0的表明模块刚初始化完成。
用逻辑分析仪看到的下发查询版本号精简指令完整波形
查询模块是否准备就绪 03 FF FF
如果模块准备就绪回应 00 03 00
然后发送打包好的命令 AA 01 00 0E 02 00 00 00 02 07 00 01 48 01 00 00 00 00 47 03 04 00 66 41
模块准备好数据后,会产生中断(或者可以主动查询06寄存器),SPI回应查询指令
W600响应查询版本号完整波形如下
到此可以确认SPI通讯是正常的了。
接下来测试自动工作模式下,模块作为SoftAP TcpServer与电脑网络调试助手透传通讯演示。
打开宏定义如下。
连接模块生成的热点
网络调试助手发送啥数据,回传啥数据。
接下来测试自动工作模式下,模块作为Station TcpClient与电脑网络调试助手透传通讯演示。
打开宏定义如下,并注意配置Socket数据。
网络调试助手发送啥数据,回传啥数据。
注:官方WM_SDK_W60X_G3.04.00 精简指令设置ATRM ServerIP地址时,发现有一个BUG,会有设置失败的情况,原因是标准SDK创建默认Socket用的是host_name,而ATRM这条指令如果上传的是IP地址,没有将其转换为字符串host_name格式,可以参考下面代码修改,或者附件中有我修改过的W600 SDK以及STM32的DEMO程序可供测试使用。
至此,STM32与W600 SPI透传DEMO演示结束,谢谢大家!
写了个脚本测试W800、W600 作为AP+TCP Server,电脑作为TCP Client,STM32端通过SPI给电脑端发送连续发送1024x5包数据,每包1024字节,一共5M数据。W800接收测速大概在434kb/s, W600接收测速大概在343kb/s,测试速率与测试时周边环境有关,仅供参考。
如需W800与W600 SDK源码可与我联系。
附件[1]:SPI 精简指令透传_STM32_DEMO.zip
附件[2]:SPI 精简指令透传_W800&W600固件.zip
附件[3]:SPI 精简指令手册_W800&W600.pdf