• 大小: 4.16MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-12-26
  • 语言: 其他
  • 标签: ESP826  WIFI  STM32F  

资源简介

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

资源截图

代码片段和文件信息

/***
 * 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个文件信息

评论

共有 条评论