1、 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开发板例程一并提供: 如果大家购买了野火S
2、TM32开发板和Mxchip EMW系列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函数一览 vs8 EM380C_I
3、nit(void) 函数功能:用于初始化模块,和与模块通讯的UART接口,并使模块处于能够响 应EMSP命令的状态 返回值:-1 : 执行命令失败 0 : 执行命令成功 vs8 EM380C_Get_ver(u32* version) 函数功能:用于获得EMW系列模块的固件版本号 参数1(IN) :用于存放获得的EMW的固件版本号的地址 vs8 EMSP_Get_status(EM380C_status_TypeDef* EM380C_status)用于获得Wi-Fi模块的网络连接状态 参数1(IN):用于存放Wi-Fi的网络连接状态结构体地址 typedef struct EM380C_TC
4、Pstatus_TypeDef TCPstatus; EM380C_WiFistatus_TypeDef WiFistatus; EM380C_status_TypeDef;-1:执行命令失败 0:执行命令成功 vs8 EM380C_Get_APList(EM380C_APLst_TypeDef* EM380C_APLst)用于获得区域内无线AP的SSID号和相应的信号强度用于存放无线的AP的SSID号和相应的信号强度的线性表的起始 地址 typedef struct char AP_NAME20; float AP_signal; EM380C_APLst_TypeDef; =0:执行命令成
5、功,获得的AP信息的数量 vs8 EM380C_Startup(void)启动Wi-Fi模块的TCP/IP网络连接 vs8 EM380C_Get_RF_POWER(EM380C_RF_POWER_TypeDef*RF_POWER) 函数功能:获得Wi-Fi的射频功率参数1:用于存放获得模块的Wi-Fi功率最小值,最大值和当前值返回值:vs8 EM380C_Get_Config(EM380C_parm_TypeDef* EM380C_Parm)用于获得Wi-Fi模块当前的配置参数参数结构体的地址,成功执行命令后,模块当前的参数会写入这个 地址。参数结构体如下。 typedef struct /
6、WIFI u8 wifi_mode; / Wlan802_11IBSS(0), Wlan802_11Infrastructure(1) u8 wifi_ssid32; / u8 wifi_wepkey16; / 40bit and 104 bit u8 wifi_wepkeylen; / 5, 13 / TCP/IP u8 local_ip_addr16; u8 remote_ip_addr16; / if em380 is server, it is NOT used; if em380 is client, it is servers IP u8 net_mask16; / 255.255
7、.255.0 u8 gateway_ip_addr16; / gateway ip address u8 portH; / High Byte of 16 bit u8 portL; / Low Byte of 16 bit u8 connect_mode; / 0:server 1:client u8 use_dhcp; / 0:disale, 1:enable u8 use_udp; / 0:use TCP,1:use UDP / COM u8 UART_buadrate;9600, 1:19200, 2:38400, 3:57600, 4:115200 u8 DMA_buffersize
8、;2, 1:16, 2:32, 3:64, 4:128, 5:256, 6:512 u8 use_CTS_RTS; u8 parity;none, 1:even parity, 2:odd parity u8 data_length;8, 1:9 u8 stop_bits;1, 1:0.5, 2:2, 3:1.5 / DEVICE/ u8 device_num; / 0 - 255 u8 IO_Control; u8 sec_mode; / 0 = wep, 1=wpa psk, 2=none u8 wpa_psk32; EM380C_parm_TypeDef;vs8 EM380C_Set_C
9、onfig(EM380C_parm_TypeDef* EM380C_Parm)用于设置Wi-Fi的配置参数参数1(OUT):参数结构体的地址,成功执行命令后,会将该地址上的数据写入到 WiFi模块里面去。结构体与上面GetConfig参数一致。 u32 EM380C_Send_Data(u8* Data,u32 len)用于通过Wi-Fi模块发送数据 PS:此函数用于命令模式下发送数据 参数1(OUT):保存发送数据的内存空间的起始地址 参数2(OUT):发送的数据长度0:执行命令成功,返回发送的数据长度 vs8 EM380C_Reset(void) 重启Wi-Fi模块,配置参数后,需重启模块
10、,参数才能生效 vs8 EM380C_Set_Mode(EM380C_mode_TypeDef mode)设置Wi-Fi模块模式,命令模式和透传模式 参数:用于存放Wi-Fi模块的模式结构体 typedef enum config_mode = 0x0, /命令模式 DTU_mode = 0x1, /透传模式 EM380C_mode_TypeDef;Hello,现在我们就来讲解main.c文件中的程序流程:第一步,初始化硬件接口(其实这一部拉低STATUS引脚,初始化号相应硬件接口即可)第二步,设置Wi-Fi模块参数设置模块参数,并通过EMSP_SET_CONFIG命令发送给Wi-Fi模块。模
11、块详细的功能可参考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端的配置工具EMW Tool Box配置模块参数,具体使用可参考“datasheet”文件夹中EMWToolBox2.pdf文档。Hello,整个WiFi的例程讲解到这里就结束了,大家如果想要更详细的资料可以跟Fire或者Mxchip公司联系,谢谢大家的关注,祝大家每天开心
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2