联盛德W600之STM32 SPI精简指令透传教程

联盛德W600之STM32 SPI精简指令透传DEMO

SPI接线描述

PIN STM32 W600(SPI_0) W600(SPI_1)
INT PA2 PB14 PB09
CS PA4 PB15 PB10
CLK PA5 PB16 PB08
MOSI PA7 PB17 PB11
MISO PA6 PB18 PB12

STM32 UART 接线(串口1)
波特率 115200,8,N,1,可查看打印的日志信息。

STM32 USB转TTL
PA9 RX(PA5)
PA10 TX
GND GND

注:强烈建议在SPI信号线上面串联100Ω的电阻,减少通讯间的干扰。

  1. 在此可以打开或关闭STM32串口DEBUG调试输出
    联盛德W600之STM32 SPI精简指令透传教程_第1张图片
  2. 首先在STM32代码主函数打开宏定义,测试SPI通讯是否正常。联盛德W600之STM32 SPI精简指令透传教程_第2张图片
  3. STM32串口打印数据联盛德W600之STM32 SPI精简指令透传教程_第3张图片
    E0的表明模块刚初始化完成。
    联盛德W600之STM32 SPI精简指令透传教程_第4张图片
    用逻辑分析仪看到的下发查询版本号精简指令完整波形
    查询模块是否准备就绪 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
    联盛德W600之STM32 SPI精简指令透传教程_第5张图片
    模块准备好数据后,会产生中断(或者可以主动查询06寄存器),SPI回应查询指令
    联盛德W600之STM32 SPI精简指令透传教程_第6张图片
    W600响应查询版本号完整波形如下
    联盛德W600之STM32 SPI精简指令透传教程_第7张图片
    到此可以确认SPI通讯是正常的了。

接下来测试自动工作模式下,模块作为SoftAP TcpServer与电脑网络调试助手透传通讯演示。
打开宏定义如下。
联盛德W600之STM32 SPI精简指令透传教程_第8张图片
连接模块生成的热点
联盛德W600之STM32 SPI精简指令透传教程_第9张图片
网络调试助手发送啥数据,回传啥数据。
联盛德W600之STM32 SPI精简指令透传教程_第10张图片
接下来测试自动工作模式下,模块作为Station TcpClient与电脑网络调试助手透传通讯演示。
打开宏定义如下,并注意配置Socket数据。
联盛德W600之STM32 SPI精简指令透传教程_第11张图片
网络调试助手发送啥数据,回传啥数据。
联盛德W600之STM32 SPI精简指令透传教程_第12张图片
注:官方WM_SDK_W60X_G3.04.00 精简指令设置ATRM ServerIP地址时,发现有一个BUG,会有设置失败的情况,原因是标准SDK创建默认Socket用的是host_name,而ATRM这条指令如果上传的是IP地址,没有将其转换为字符串host_name格式,可以参考下面代码修改,或者附件中有我修改过的W600 SDK以及STM32的DEMO程序可供测试使用。
联盛德W600之STM32 SPI精简指令透传教程_第13张图片
至此,STM32与W600 SPI透传DEMO演示结束,谢谢大家!

附件[1]:STM32 & W600 SPI通讯DEMO.zip

你可能感兴趣的:(stm32,单片机,物联网)