1 前言
本实验使用了RW007 WiFi模块通过开发板的PMOD接口连接实现网络连接功能。通过本实验可以学习到复杂外设的配置,了解RT-Thread的网络框架,实现通过WiFi上网的DEMO。
2 添加RW007软件包
在 RT-Thread settings 中添加软件包 RW007。从介绍中可以知道RW007一共需要8个引脚,其中通信控制相关的引脚有1组SPI信号线用于数据传输、1个中断输入用于从机主动发送数据、1个IO输出用于控制模块RESET。
添加成功后进入软件包的配置项,在驱动对接选项中选择使用自定义的驱动,SPI最大频率可以使用默认配置。
3 FSP配置外设
RW007使用开发板的PMODB接口,在用户手册中查看引脚表,RW007接入的有效引脚如下图1~8号。
实物图接线图
根据引脚表在FSP中找到对应的SPI1接口,由于片选引脚需要由SPI驱动框架控制才能和RW007正常通信,所以将SPI1片选信号改为 None 。
Stacks添加SPI外设
点击创建的SPI外设,配置 channel、name、Clock Phase、Clock Polarity、Callback、 SPI、Mode 等参数,波特率在代码中可通过 API 修改,这里可以设置一个默认值。
RW007 有一个从机控制的 INT 引脚,需要占用一个 IRQ 通道,下图以 P506 为例的配置如下:
RW007 的 RESET 控制引脚修改默认配置,这里在 RASC 中 mode 设为关闭,交由 RW007 中进行软件控制
配置完成点击生成驱动及配置代码
4 配置SPI及RW007驱动
在硬件配置中打开已经对接好的RW007驱动,并配置引脚编号。打开SPI1总线接口。
RW007使用的WiFi方式连接,所以还会使用到RT-Thread的WiFi框架
同时也会添加RT-Thread网络相关组件,SAL套接字抽象层、netdev网络接口设备、lwip协议栈
由于RW007软件包中使用了系统的内存池功能,所以需要打开此配置。
配置项添加完成,保存配置到工程
5 测试验证
下载代码,可以使用WiFi框架中支持的命令验证WiFi功能, wifi scan 可以扫描当前环境中的热点,wifi join vor vor980501 加入热点。
| /
- RT - Thread Operating System
/ | 4.1.0 build Aug 15 2022 11:33:07
2006 - 2022 Copyright by RT-Thread team
lwIP-2.0.3 initialized!
[I/sal.skt] Socket Abstraction Layer initialize success.
[E/[RW007]] The wifi Stage 1 status ffffffff ffffffff f 1
[I/WLAN.dev] wlan init success
[I/WLAN.lwip] eth device init ok name:w0
[I/WLAN.dev] wlan init success
[I/WLAN.lwip] eth device init ok name:w1
rw007 sn: [rw00700000000fc584a18928c]
rw007 ver: [RW007_2.1.0-a7a0d089-57]
Hello RT-Thread!
msh >wifi
wifi
wifi help
wifi scan [SSID]
wifi join [SSID] [PASSWORD]
wifi ap SSID [PASSWORD]
wifi disc
wifi ap_stop
wifi status
wifi smartconfig
msh >wifi join vor vor980501
[I/WLAN.mgnt] wifi connect success ssid:vor
msh >[I/WLAN.lwip] Got IP address : 192.168.47.212
原作者:2345vor