资源简介
到学校兼职时准备的实验程序,使用了函数指针,定时器断句,套路比较深,不懂函数指针就不要浪费积分了

代码片段和文件信息
/***
* ESP8266 驱动库
* 作者:zzh
* 依赖资源:
* 1. 串口1 ,波特率 115200 重映射为 printf 输出
* 2. 定时器4 1ms中断 用于接收数据断句 ,键盘扫描 Client 心跳维持
*/
#include “ESP8266.h“
uint8_t ESP8266_BUFF[256];
char CMD_buff[64];
//把wifi设备基础参数分配在常量区,以便掉电保存新设置
const char WIFI_SSID [32]= _WIFI_SSID;
const char WIFI_PSSW[32]= _WIFI_PSSW;
const uint8_t IP_S [ 4]= _IPAdrr;
const int PORT = _PORT;
uint8_t IP_LOCALHOST[ 4]={0000};
uint8_t IP_MAC [ 6]={0};
_F_u8 ESP8266NetMode=ESP8266_TCPService;//模块联网模式:c/s
uint8_t *pREC=ESP8266_BUFF; //定义通信内容的接收游标,ESP8266_BUFF是接收的内容
WIFI_Type WIFI_MSG; //定义wifi结构体的对象
const voidType DataAdrr[5]={
(voidType)WIFI_SSID
(voidType)WIFI_PSSW
(voidType)IP_S
(voidType)PORT
(voidType)IP_LOCALHOST
};
/***
*设置为热点
*/
void ESP8266_AP(uint8_t Step)
{
switch(Step)
{
case 0:
WIFI_MSG.ESP8266_init=ESP8266_AP;//保存地址
WIFI_MSG.Context=1;
WIFI_MSG.SSID=(char*)WIFI_SSID;//作为热点时,要自行定义wifi名和密码(热点参数)
WIFI_MSG.PSSW=(char*)WIFI_PSSW;
setCMD(“CWMODE=2“REC_OK);
break;
case 1://复位
setCMD(“RST“NREC_);//复位不收回响
delay_ms(1000);
WIFI_MSG.ESP8266_init(2); //递归执行
break;
case 2://连接 ------通过CWSAP控制热点参数
sprintf(CMD_buff“CWSAP=\“%s\“\“%s\“14“WIFI_SSIDWIFI_PSSW);//打印到串口
WIFI_MSG.Context=3;
setCMD(CMD_buffREC_OK);//发送指令
break;
case 3://获取IP:如果8266开热点服务,手机端连接需要输入ip
setCMD(“CIFSR“REC_IPv4);
break;
case 4://联网模式
ESP8266NetMode(0);
break;
}
}
/***
*设置为终端
*/
void ESP8266_STA(uint8_t Step)
{
switch(Step)
{
case 0:
WIFI_MSG.ESP8266_init=ESP8266_STA;//保存地址
WIFI_MSG.Context=1;
//目的是使初始化与其他任务同步进行,不需要在初始化里等待直至结束
setCMD(“CWMODE=1“REC_OK);//REC_OK()成功后调用WIFI_MSG.ESP8266_init(WIFI_MSG.Context);-->case 1
break;
case 1://复位
setCMD(“RST“NREC_);
delay_ms(1000);//复位不收回响
WIFI_MSG.ESP8266_init(2); //递归执行
break;
case 2://加入 WIFI 热点:WIFI_SSID,密码:WIFI_PSSW
WIFI_MSG.Context=3;
//将WIFI_SSIDWIFI_PSSW打印并存入buff数组,发送CWJAP加入热点
sprintf(CMD_buff“CWJAP=\“%s\“\“%s\““WIFI_SSIDWIFI_PSSW);
//delay_ms(2000);//复位不收回响
setCMD(CMD_buffREC_Connect);
break;
case 3://获取IP
setCMD(“CIFSR“REC_IPv4_);
break;
case 4://联网模式
ESP8266NetMode(0);
break;
}
}
void ESP8266_TCPService(uint8_t Step)
{
switch(Step)
{
case 0:
WIFI_MSG.Context=1;//先索引,再次进case 1
WIFI_MSG.ESP8266_init=ESP8266_TCPService;//保存地址
setCMD(“CIPMUX=1“REC_OK);//开启多连接
break;
case 1:
WIFI_MSG.Context=2;
sprintf(CMD_buff“CIPSERVER=1%d“PORT);
setCMD(CMD_buffREC_OK);//开启 SERVER 模式,设置端口为 8886
break;
case 2:
WIFI_MSG.deal=REC_CONN;
break;
}
}
void ESP8266_TCPClient(uint8_t Step){
switch(Step)
{
case 0:
WIFI_MSG.Context=1;//先索引,再次进来case 1
setCMD(“CIPMUX=0“REC_OK);//开启单连接
WIFI_MSG.ESP8266_init=ESP8266_TCPClient;//保存地址
break;
case 1://建立 TCP 连接到IP_S PORT
WIFI_MSG.Context=2;
//把四段ip地址写buff
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 109142 2014-07-17 21:52 8266注释版\CORE\core_cm4.h
文件 22735 2014-07-17 21:52 8266注释版\CORE\core_cm4_simd.h
文件 17146 2014-07-17 21:52 8266注释版\CORE\core_cmFunc.h
文件 20513 2014-07-17 21:52 8266注释版\CORE\core_cmInstr.h
文件 29605 2014-08-02 00:12 8266注释版\CORE\startup_stm32f40_41xxx.s
文件 7460 2019-02-22 11:44 8266注释版\ESP8266\ESP266.c
文件 1723 2019-02-22 11:21 8266注释版\ESP8266\ESP8266.h
文件 1662 2019-02-18 20:58 8266注释版\ESP8266\TIM4.c
文件 193 2019-01-27 13:35 8266注释版\ESP8266\TIM4.h
文件 534987 2019-01-28 11:00 8266注释版\ESP8266配置1.4.pdf
文件 6924 2014-08-01 23:18 8266注释版\FWLIB\inc\misc.h
文件 32880 2014-08-01 23:18 8266注释版\FWLIB\inc\stm32f4xx_adc.h
文件 27318 2014-08-01 23:18 8266注释版\FWLIB\inc\stm32f4xx_can.h
文件 2416 2014-08-01 23:18 8266注释版\FWLIB\inc\stm32f4xx_crc.h
文件 14481 2014-08-01 23:18 8266注释版\FWLIB\inc\stm32f4xx_cryp.h
文件 14946 2014-08-01 23:18 8266注释版\FWLIB\inc\stm32f4xx_dac.h
文件 4296 2014-08-01 23:18 8266注释版\FWLIB\inc\stm32f4xx_dbgmcu.h
文件 12977 2014-08-01 23:18 8266注释版\FWLIB\inc\stm32f4xx_dcmi.h
文件 28882 2014-08-01 23:18 8266注释版\FWLIB\inc\stm32f4xx_dma.h
文件 19692 2014-08-01 23:18 8266注释版\FWLIB\inc\stm32f4xx_dma2d.h
文件 8012 2014-08-01 23:18 8266注释版\FWLIB\inc\stm32f4xx_exti.h
文件 24467 2014-08-04 22:05 8266注释版\FWLIB\inc\stm32f4xx_flash.h
文件 3275 2014-08-04 22:05 8266注释版\FWLIB\inc\stm32f4xx_flash_ramfunc.h
文件 44924 2014-08-01 23:18 8266注释版\FWLIB\inc\stm32f4xx_fmc.h
文件 27181 2014-08-01 23:18 8266注释版\FWLIB\inc\stm32f4xx_fsmc.h
文件 23548 2019-01-26 12:30 8266注释版\FWLIB\inc\stm32f4xx_gpio.h
文件 10084 2014-08-01 23:18 8266注释版\FWLIB\inc\stm32f4xx_hash.h
文件 31939 2014-08-01 23:18 8266注释版\FWLIB\inc\stm32f4xx_i2c.h
文件 4323 2014-08-01 23:18 8266注释版\FWLIB\inc\stm32f4xx_iwdg.h
文件 21191 2014-08-01 23:18 8266注释版\FWLIB\inc\stm32f4xx_ltdc.h
............此处省略159个文件信息
相关资源
- 安卓wifi直连app源码
- stm32f407上的两个can发送和接收例程
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- wifi的ssid探测
- STM32F103 串口程序(完整版)
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- wifi局域网内双向语音实时通话
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32F103 CC2500完整驱动(模拟SPI)
- SX1280.rar
- STM32F103C8T6+NRF24l01无线通信
- 矿用多功能WiFi信号转换器的设计
- 基于WiFi技术的矿井信号收发器设计
- 爱普生(EPSON)L3151 3153 3156 3157 3158不
- RTL8188EVT USB WIFI无线网卡驱动 免费版
- 基于STM32F4x9的LCD显示
- wifi电路调试经验之谈
- VS1053B编解码器的VDR分布式声音采集卡
- stm32f103.SchDoc
- STM32F103 USART+DMA
- stm32f105-usart-DMA收发demo
- STM32F042F6P6 Uart12DMA;发送中断接收
- 基于STM32F103C8单片机的晶联讯电子JL
- Marvell 88W8686 WiFi模块的ADHOC热点创建代
- RT5350WIFI模组
- stm32F4+w5300
评论
共有 条评论