WiFi代码Word文档下载推荐.docx
《WiFi代码Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《WiFi代码Word文档下载推荐.docx(12页珍藏版)》请在冰点文库上搜索。
![WiFi代码Word文档下载推荐.docx](https://file1.bingdoc.com/fileroot1/2023-5/10/bedef7bf-1a3b-4c9a-882c-2339c7b5b53f/bedef7bf-1a3b-4c9a-882c-2339c7b5b53f1.gif)
PA5-SPI_CLK
PA6-SPI_MISO
PA7-SPI_MOSI
PC7-INT
PC6-RECV
PB12-STATUS
PB13-Wakeup
SPI接口模块的WiFi例程暂时没有,等到以后做了之后会发布
PS:
引脚的具体定义及功能请参考“datasheet”文件夹中EMW3280_V2.pdf文档
EMSP_API函数:
EMSP_API接口函数提供了一系列API函数,用户通过调用这些函数可以轻松地在各种嵌入式设备上实现对EMW系列Wi-Fi模块的控制和数据传输。
现在该接口函数随和WiFi资料随野火STM32开发板例程一并提供:
如果大家购买了野火STM32开发板和MxchipEMW系列Wi-Fi模块,就可以在开发板上调试这些例程。
EMSP_API函数库由标准C编写而成,可以直接加入到常用的嵌入式开发环境,如KEIL,IAP等。
EMSP_API函数由以下三个C语言文件及其对应的头文件构成。
1.emw38x_hal.c
该代码实现了EMW系列模块和嵌入式设备之间的硬件接口。
用户需要根据
自己的硬件环境实现相应的函数
2.EMSP.c
该代码实现了EMSP命令的协议处理。
3.EMSP_API.c
该代码提供给用户用于操控模块的API函数,用户只需调用这些函数,就可
以实现对模块的配置和操作。
API函数一览
vs8EM380C_Init(void)
函数功能:
用于初始化模块,和与模块通讯的UART接口,并使模块处于能够响
应EMSP命令的状态
返回值:
-1:
执行命令失败
0:
执行命令成功
vs8EM380C_Get_ver(u32*version)
函数功能:
用于获得EMW系列模块的固件版本号
参数1(IN):
用于存放获得的EMW的固件版本号的地址
vs8EMSP_Get_status(EM380C_status_TypeDef*EM380C_status)
用于获得Wi-Fi模块的网络连接状态
参数1(IN):
用于存放Wi-Fi的网络连接状态结构体地址
typedefstruct{
EM380C_TCPstatus_TypeDefTCPstatus;
EM380C_WiFistatus_TypeDefWiFistatus;
}EM380C_status_TypeDef;
-1:
执行命令失败
0:
执行命令成功
vs8EM380C_Get_APList(EM380C_APLst_TypeDef*EM380C_APLst)
用于获得区域内无线AP的SSID号和相应的信号强度
用于存放无线的AP的SSID号和相应的信号强度的线性表的起始
地址
typedefstruct{
charAP_NAME[20];
floatAP_signal;
}EM380C_APLst_TypeDef;
>
=0:
执行命令成功,获得的AP信息的数量
vs8EM380C_Startup(void)
启动Wi-Fi模块的TCP/IP网络连接
vs8EM380C_Get_RF_POWER(EM380C_RF_POWER_TypeDef*RF_POWER)
函数功能:
获得Wi-Fi的射频功率
参数1:
用于存放获得模块的Wi-Fi功率最小值,最大值和当前值
返回值:
vs8EM380C_Get_Config(EM380C_parm_TypeDef*EM380C_Parm)
用于获得Wi-Fi模块当前的配置参数
参数结构体的地址,成功执行命令后,模块当前的参数会写入这个
地址。
参数结构体如下。
typedefstruct
{
//WIFI
u8wifi_mode;
//Wlan802_11IBSS(0),Wlan802_11Infrastructure
(1)
u8wifi_ssid[32];
//
u8wifi_wepkey[16];
//40bitand104bit
u8wifi_wepkeylen;
//5,13
//TCP/IP
u8local_ip_addr[16];
u8remote_ip_addr[16];
//ifem380isserver,itisNOTused;
ifem380isclient,itisserver'
sIP
u8net_mask[16];
//255.255.255.0
u8gateway_ip_addr[16];
//gatewayipaddress
u8portH;
//HighByteof16bit
u8portL;
//LowByteof16bit
u8connect_mode;
//0:
server1:
client
u8use_dhcp;
//0:
disale,1:
enable
u8use_udp;
//0:
useTCP,1:
useUDP
//COM
u8UART_buadrate;
9600,1:
19200,2:
38400,3:
57600,4:
115200
u8DMA_buffersize;
2,1:
16,2:
32,3:
64,4:
128,5:
256,6:
512
u8use_CTS_RTS;
u8parity;
none,1:
evenparity,2:
oddparity
u8data_length;
8,1:
9
u8stop_bits;
1,1:
0.5,2:
2,3:
1.5
//DEVICE
//u8device_num;
//0-255
u8IO_Control;
u8sec_mode;
//0=wep,1=wpapsk,2=none
u8wpa_psk[32];
}EM380C_parm_TypeDef;
vs8EM380C_Set_Config(EM380C_parm_TypeDef*EM380C_Parm)
用于设置Wi-Fi的配置参数
参数1(OUT):
参数结构体的地址,成功执行命令后,会将该地址上的数据写入到
WiFi模块里面去。
结构体与上面GetConfig参数一致。
u32EM380C_Send_Data(u8*Data,u32len)
用于通过Wi-Fi模块发送数据
PS:
此函数用于命令模式下发送数据
参数1(OUT):
保存发送数据的内存空间的起始地址
参数2(OUT):
发送的数据长度
>
0:
执行命令成功,返回发送的数据长度
vs8EM380C_Reset(void)
重启Wi-Fi模块,配置参数后,需重启模块,参数才能生效
vs8EM380C_Set_Mode(EM380C_mode_TypeDefmode)
设置Wi-Fi模块模式,命令模式和透传模式
参数:
用于存放Wi-Fi模块的模式结构体
typedefenum{
config_mode=0x0,//命令模式
DTU_mode=0x1,//透传模式
}EM380C_mode_TypeDef;
Hello,现在我们就来讲解main.c文件中的程序流程:
第一步,初始化硬件接口(其实这一部拉低STATUS引脚,初始化号相应硬件接口即可)
第二步,设置Wi-Fi模块参数
设置模块参数,并通过EMSP_SET_CONFIG命令发送给Wi-Fi模块。
模块详细的功能可参考"
Wi-Fi模块datasheet"
文件夹EMW_DataTransferExamples.pdf,里面详细介绍了各种模式的数据透传。
第三步,重启Wi-Fi模块,模块的参数配置好之后,需要重启Wi-Fi模块才能生效
第四步,启动Wi-Fi模块,通过发送EMSP_CMD_START命令,此时模块内部TCP/IP协议栈已经跑启,模块上红灯常亮
第五步,拉高STATUS引脚,模块进入透传模式
直接拉高STATUS引脚可直接启动Wi-Fi,跳过第四步
其他说明:
EMSP详细命令可参考“datasheet”文件夹中EMW3280.pdf文档。
模块还可通过PC端的配置工具EMWToolBox配置模块参数,具体使用可参考“datasheet”文件夹中EMWToolBox2.pdf文档。
Hello,整个WiFi的例程讲解到这里就结束了,大家如果想要更详细的资料可以跟Fire或者Mxchip公司联系,谢谢大家的关注,祝大家每天开心