资源简介
到学校兼职时准备的实验程序,使用了函数指针,定时器断句,套路比较深,不懂函数指针就不要浪费积分了
代码片段和文件信息
/***
* 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个文件信息
相关资源
- linux 360wifi3代驱动
- STM32F103移植rt-thread
- PCA9685驱动STM32F103
- Linux内核WIFI驱动详细源码
- 基于zigbee温湿度传输及控制带wifiAPP查
- stm32f103c8t6-max31865-pt100测温
- Keil5下的STM32F407程序
- 新3newifi3路由集客AP 5G正常的版本
- stm32F103C8外部flash图片显示
- STM32F103 ADC测电压 代码
- Mini_oneNET.zip
- stm32f103测量pm2.5源码
- zw_OLED-STM32F4-IIC.zip
- ESP8266最新稳定版固件
- ESP8266AP模式控制51单片机亮灯.docx
- STM32F103C8T6与MQTT通信的源码
- USART基于hal库stm32f407串口通讯.rar
- STM32F4基于HAL库的LCD显示实验
- STM32F103C8T6读取DS18B20串口显示程序.r
- MLX90614(GY906)____STM32F103ZET6
- stm32f4+ov5640颜色识别.zip
- ESP8266使用MQTT协议连接阿里云
- STM32F767原理图+PCB给力啊!
- 贝壳物联arduino esp8266 demo版本
- ESP8266程序加上MQTT调试工具
- WiFi智能小车app
-
STM32F103C8T6_AES-128-CTR_ba
se64密文解密 - stm32f042复用can通信
- 完整的STM32F407_MODBUS通信工程代码。
- stm32f103c8t6移植uC/OS-III基于HAL库的工程
评论
共有 条评论