/** 功能:ESP8266 的初始化配置* 参数:*        ssid        ---》ESP8266的名字*         pwd         ---》ESP8266的密码* 返回值:无*/
void ESP8266_Init(char *ssid, char *pwd)
{char buffer[50];printf("\r\n您发送的消息为:\r\n");memset(buffer, 0, sizeof(buffer));sprintf(buffer, "AT+CWSAP=\"%s\",\"%s\",11,4\r\n", ssid, pwd);//AT指令 配置ESP8266模块//需要判定返回的数据是否为OKUSART_SendStr("AT\r\n");delay_s(1);printf("Send AT Success!\r\n");USART_SendStr("AT+RST\r\n");delay_s(3);printf("Send AT+RST Success!\r\n");USART_SendStr("AT+CWMODE=3\r\n");    //设置 ESP8266 为 AP 和 STA 模式delay_s(2);printf("Send AT+CWMODE=3 Success!\r\n");USART_SendStr("AT+RST\r\n");delay_s(3);printf("Send AT+RST Success!\r\n");USART_SendStr(buffer); //设置名称、密码、信道、加密方式delay_s(2);printf("Send %s Success!\r\n",buffer);USART_SendStr("AT+CIPMUX=1\r\n");   //多链接delay_s(2);printf("Send AT+CIPMUX=1 Success!\r\n");USART_SendStr("AT+CIPSERVER=1,5000\r\n");   //默认 TCP 协议,端口号是5000 ,默认IP 是192.168.4.1delay_s(2);printf("Send AT+CIPSERVER=1,8080 Success!\r\n");USART_SendStr("AT+CIFSR\r\n");   //查看IPdelay_s(2);printf("Send AT+CIFSR\r\n");}//bound:波特率
void UART3_Init(u32 bound)
{//GPIO端口设置GPIO_InitTypeDef GPIO_InitStructure;USART_InitTypeDef USART_InitStructure;NVIC_InitTypeDef NVIC_InitStructure;RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB,ENABLE); //使能GPIOA时钟RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE);//使能USART3时钟//USART3端口配置GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_10; //GPIOB10与GPIOB11GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//复用功能GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  //速度50MHzGPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽复用输出GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; //上拉GPIO_Init(GPIOB,&GPIO_InitStructure); //初始化B10,PB11//串口3对应引脚复用映射GPIO_PinAFConfig(GPIOB,GPIO_PinSource11,GPIO_AF_USART3); //GPIOB11复用为USART3GPIO_PinAFConfig(GPIOB,GPIO_PinSource10,GPIO_AF_USART3); //GPIOB10复用为USART3//USART3 初始化设置USART_InitStructure.USART_BaudRate = bound;//波特率设置USART_InitStructure.USART_WordLength = USART_WordLength_8b;//字长为8位数据格式USART_InitStructure.USART_StopBits = USART_StopBits_1;//一个停止位USART_InitStructure.USART_Parity = USART_Parity_No;//无奇偶校验位USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//无硬件数据流控制USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;    //收发模式USART_Init(USART3, &USART_InitStructure); //初始化串口3USART_ClearFlag(USART3, USART_FLAG_TC);USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);//开启相关中断//Usart1 NVIC 配置NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn;//串口3中断通道NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;//抢占优先级1NVIC_InitStructure.NVIC_IRQChannelSubPriority =1;      //子优先级1NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;         //IRQ通道使能NVIC_Init(&NVIC_InitStructure);    //根据指定的参数初始化VIC寄存器、USART_Cmd(USART3, ENABLE);  //使能串11
}
void USART_SendStr(const char *str)
{char i = 0;//判断字符串是否为NULLwhile( *(str+i) != '\0'){while(USART_GetFlagStatus(USART3,USART_FLAG_TC) == RESET);USART_SendData(USART3,*(str+i));i++;}
}#define USART_REC_LEN              200     //定义最大接收字节数 200
extern char USART_RX_BUF[USART_REC_LEN]; void PrintStr(char *str)
{int i=0;while( *(str+i) != '\0'){printf("%c", *(str+i));i++;}
}char USART_RX_BUF[USART_REC_LEN];     //接收缓冲,最大USART_REC_LEN个字节.
char TempBuff3[USART_REC_LEN] = {0};
uint16_t count3 = 0;
char RecvFlag3 = 0;
char i3;//触发一次中断表示接收到一个字节数据
void USART3_IRQHandler(void)
{//当这个条件满足  表示有数据到来if(USART_GetITStatus(USART3,USART_IT_RXNE) != RESET){//清除中断USART_ClearITPendingBit(USART3,USART_IT_RXNE);TempBuff3[count3++] = USART_ReceiveData(USART3)  ;if((TempBuff3[count3 - 1] == '\n'))       //手机测试{strcpy(USART_RX_BUF,TempBuff3);//printf("RecvData:%s\r\n", USART_RX_BUF);memset(TempBuff3, 0, sizeof(TempBuff3));PrintStr(USART_RX_BUF);RecvFlag3 = 1;     //接收成功的标志count3 = 0;}}
} Usart1_Init(115200); //串口1初始化 和电脑通信 波特率是115200UART3_Init(115200); //串口3用于发送 ESP8266 的AT指令以及接收 ESP8266 返回的信息ESP8266_Init("SmartSocket", "01234567"); //配置WiFi printf("HadWare Init Success!\r\n");

ESP8266WiFi模块的初始配置函数相关推荐

  1. 基于STM32的ESP8266WiFi模块波形检测仪

    使用STM32f103c8t6制作简易示波器将波形检测后上传到网页进行描点绘图.我负责下位机部分我的同学负责网页部分. 附带网址用Django写网页通过tcp-client,接收单片机所发的数据,进行 ...

  2. ESP8266wifi模块连接原子云实现手机与单片机的通信

    买正点原子的开发板时送了一块ESP8266wifi模块,一直没使用,最近几天刚好有时间就拿出来玩了一下,现在实现过程分享出来. 用到的模块: 1.STM32F103C8T6最小系统板 2.正点原子ES ...

  3. linux注册函数机制,Linux可信计算机制模块详细分析之函数实现机制(1)字符设备驱动...

    原标题:Linux可信计算机制模块详细分析之函数实现机制(1)字符设备驱动 2.3 函数实现机制 2.3.1 Linux 字符设备驱动 在linux 3.5.4中,用结构体cdev描述字符设备,cde ...

  4. SQLServer常用的配置函数笔记

    今天给大家分享一下SQLServer常用的配置函数知识,希望对初学者能有所帮助! 1.@@DATEFIRST @@Datefirst返回值tinyint 说明:datefirst指一周中的第一天,英语 ...

  5. 基于STM32F1单片机、ESP8266WIFI模块、DHT11温湿度传感的WIFI网络温湿度传输系统

    基于STM32F1单片机.ESP8266WIFI模块.DHT11温湿度传感的WIFI网络温湿度传输系统 功能说明 温湿度采集端 温湿度监控端 硬件材料 硬件连接 主要代码 温湿度采集端 温湿度监控端 ...

  6. idea 初始界面_IDEA 初始配置教程

    IDEA 初始配置教程 如果你是第一次使用 IDEA,或者对 IDEA 常用配置仍然不熟悉,那么本文就特别适合你. 本文只是根据我自己的使用经验来进行配置,不一定适合所有的情况,但是对你肯定会有帮助. ...

  7. STM32单片机通过ESP8266WiFi模块与Android APP实现数据传输(二)---上位机搭建

    事物的难度远远低于对事物的恐惧 完成对STM32单片机和ESP8266 WiFi模块的配置之后,接下来需要完成Android APP代码的编写以及实现. 1.添加网络权限 因为我们需要对WiFi进行操 ...

  8. ESP8266-WIFI模块使用AT指令连接外网服务器

    ESP8266-WIFI模块使用AT指令连接外网服务器 第一步用java代码写一个服务器,代码如下: 代码解释:我是用nio写了一个,异步通信,用到了线程池,比较简单.当wifi模块连接后,会自动创建 ...

  9. ESP8266wifi模块与51单片机通信教程

    ** ESP8266wifi模块与51单片机通信教程 准备两个200欧左右的电阻 准备6根杜邦线 然后将ES8266通过如图这种方式连接起来 注意:必须先配置ESP8266模块,配置需要用到ESP82 ...

最新文章

  1. Java 注册SIGINT信号,处理CTRL+C
  2. 基于NopCommerce的开源电商系统改造总结
  3. 2018.06.28 与或(线段树)
  4. hihoCoder 1312:搜索三·启发式搜索(A* + 康托展开)
  5. 队列的基本操作_如果让你手写个栈和队列,你还会写吗?||CSDN博客精选
  6. python从入门到实践 第12章 武装飞船 之 调整飞船的速度程序实践
  7. idea 工作区右边框提示_建立自己的制造商工作区的提示
  8. JQuery控制只能输入带二位小数的数字
  9. MyEclipse 2017 CI 10 发布(附下载)
  10. 利用conda安装git
  11. oracle授权v$lock,Oracle八大性能视图之v$lock
  12. Gitlab利用Webhook实现Push代码后的Jenkins自动构建
  13. 深度集成 Flink: Apache Iceberg 0.11.0 最新功能解读
  14. 网络工程师考试第一节计算机硬件基础
  15. 计算机找不到网络链接,找不到宽带连接的解决办法-电脑故障
  16. bzoj1707[Usaco2007 Nov]tanning分配防晒霜*
  17. 利用过滤器处理字符,解决中文乱码问题
  18. html语言ppt,HTML语言.ppt
  19. 墨天轮高分技术文档分享——数据库安全篇(共48个)
  20. dqn推荐系统_增强学习在推荐系统有什么最新进展?

热门文章

  1. vs 指定的启动url无效
  2. suid提权全解(超细)
  3. 一些很少用到但是用到时又很抓鸡的代码
  4. 服务器sleep时间不准校准
  5. XP又延寿,厂商笑开颜
  6. Address Sanitizer定位内存问题
  7. 《机器学习》赵卫东学习笔记 第6章 神经网络(课后习题及答案)
  8. scipy中的稀疏矩阵
  9. Python函数式编程系列002:水管模型和compose
  10. 机器学习——聚类——密度聚类法——DBSCAN