RW007_WiFi模块(SPI/UART模式)在STM32F407上的使用经验

14 篇文章 0 订阅
12 篇文章 2 订阅

RW007模块

官方文档:

https://www.rt-thread.org/document/site/application-note/packages/rw007_module_using/an0034-rw007-module-using/

软件包:

https://github.com/RT-Thread-packages/rw007

SPI模式(基于rt-thread-3.1.2)

SPI连接方式

RW007和单片机的连接管脚如下,管脚的数字表示在drv_gpio.c中定义

RW007

STM32F407

SCK

PB13(29)SPI2_SCK

MISO

PB14 SPI2_MISO

MOSI

PB15 SPI2_MOSI

CS

PF4(84)

INT/BUSY(D9)

PF5(85)

RST(D8)

PF6(86)

 

步骤

  1. 复制SConscript文件

进入rt-thread-3.1.3\bsp\stm32\libraries\HAL_Drivers,将该目录下的SConscript文件复制到

rt-thread-3.12\bsp\stm32\libraries\HAL_Drivers文件夹下,提示覆盖,确定即可(原来的文件存在依赖问题,会导致生成工程时加入错误的drv_xxx.c文件)。

  1. Bsp工程修改与生成

在f407探索者bsp下的env中,输入scons --dist新建初始化工程,工程存放在dist/目录下。在dist/目录下的工程可以拷贝到任意处使用。注意修改template.uvprojx工程,debug选择ST-Link Debuger,下载方式为SW模式,保存。

进入当前bsp目录下的stm32f407-atk-explorer\board\CubeMX_Config文件夹,可见下列文件

右键修改CubeMX_Config.ioc文件(我使用的是4.27.0版本的CubeMX,无法打开高版本创建的ioc,因此做了修改),修改内容如下

MxCube.Version=4.27.0

MxDb.Version=DB.4.27.0

双击打开CubeMX_Config.ioc文件,修改SPI2引脚配置(默认的引脚在板子上有其他的外设使用,会引起冲突,导致rw007初始化失败),修改内容如下图

保存 ,并生成工程 。若提示下图信息,选择Continue

  1. 配置menuconfig

进入bsp主目录,右键进入env,输入menuconfig进行配置

Hardware Drivers Config → On-chip Peripheral Drivers → Enable SPI BUS,选择SPI2

 

RT-Thread online packages → IoT - internet of things → Wi-Fi

对于正点原子探索者F407中的RW007,我使用spi2

RT-Thread Components → Device Drivers → Using WiFi,开启WiFi框架,保持默认。

接下来一路ESC,提示保存,选择YES。然后scons –target=mdk5编译生成工程。

  1. 修改SPI频率

修改spi_wifi_rw007.c中的

cfg.max_hz = 2 * 1000000; //原来为30 * 1000000,会导致初始化卡在wlan init success

(具体数值可以根据情况修改)

  1. 编译下载

在Keil5中进行编译,此时应该没有任何错误。下载到开发板,串口调试助手输出如下信息

 

表示rw007初始化成功,接下来可以使用wifi相关命令

UART模式(基于rt-thread-3.1.2)

UART连接方式

RW007和单片机的连接管脚如下,管脚的数字表示在drv_gpio.c中定义

RW007

STM32F407

D1

PB10(TX)

D0

PB11(RX)

D8(RST)

PF6(86)

 

要注意的是,RW007板子上的丝印可能会引起误解

丝印上的 实际对应的是RW007芯片的RX,需要与单片机的UART3的PB10(TX)连接,丝印上的 实际对应的是RW007芯片的TX,需要与单片机的UART3的PB11(RX)连接。

步骤

  1. Bsp工程生成

前期准备一样,只是不需要使用STM32CubeMX重新配置管脚。我使用的是板子上的UART3。

Bsp默认开启UART1用于FINSH组件配置

  1. 配置menuconfig

进入bsp主目录,右键进入env,输入menuconfig进行配置

开启UART3:

→Hardware Drivers Config On-chip Peripheral Drivers → Enable UART

 

选择AT组件:

→ RT-Thread online packages → IoT - internet of things

 

AT socket device modules选择Realthread RW007

AT client device name为uart3

rw007 wifi ssid为要连接的无线网络

rw007 wifi password为无线网络密码

 

打开AT调试信息输出功能

→ RT-Thread Components → Network → AT commands

  1. 编译下载

接下来一路ESC,提示保存,选择YES。然后scons –target=mdk5编译生成工程。

在Keil5中进行编译,此时应该没有任何错误。下载到开发板,串口调试助手输出如下信息

表示RW007串口接口模式初始化成功,接下来可以使用相关的AT指令,下图为一个例子。

我的CSDN:https://blog.csdn.net/wbdxz

ST官方的DISCOVERY板子中使用RW007的注意事项:INT/BUSY引脚不可使用板子是的PC0,因为PC0在原理图上已经被USB_OTG占用,并且被上拉为3V高电平。无法满足wifi中断引脚的要求。

参考资料:

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值