arduino ide 开发esp8266注意事项

1.引脚序列号必须是常量来定义,否则会无限重启。

复制代码
#define p2  2
const int Pin2=p2;
pinMode(Pin2, OUTPUT);

2.关于wifi的模式,ap,sta,ap+sta三种模式的初始化必须放在void set_up(){}这个函数里,不能额外搞个自定义函数,不然会无限重启。

错误初始化:

复制代码
const char *ssid="esp8266ap";
const char *pwd="12345678";
void init_wifi(void){
WiFi.softAP(ssid,pwd);
}
void set_up(void){
Serial.begin(115200);
init_wifi();
}

正确的初始化:

const char *ssid="esp8266ap";

const char *pwd="12345678";

void set_up(void){

Serial.begin(115200);

WiFi.softAP(ssid,pwd);

}

3.wifi 的密码长度要么没有,要么有,有就必须8个字符以上,不然无限重启,程序崩溃复位。

4.esp8266的eeprom库是在flash的最后开辟一个空间,必须这样写,不然也可能发生崩溃重启。

复制代码
#include <EEPROM.H>

char arr=0;
void set_up(void){
//write
     EEPROM.begin(sizeof(arr));
     EEPROM.write(0,arr);
     EEPROM.commit();
     EEPROM.end();
//read
     EEPROM.begin(sizeof(arr));
     arr=EEPROM.read(0);
     EEPROM.commit();
     EEPROM.end();
}
//根据eeprom的大小0~4k,最好不要超过4k,超过4k建议使用文件存储
//esp-01s没有eeprom,所以不支持

5.ap模式与sta模式最好不要混用,因为混用容易使得信道混乱。

相关推荐
春涧草茶4 分钟前
慢就是快12-2三种访问权限|getter与setter|魔法方法
开发语言·python
無限進步D16 分钟前
Java Web 前端 简介
java·开发语言·前端·css·html·css3·web
qq_4017004136 分钟前
Qt QUrl 详解与代码示例
开发语言·数据库·qt
小灰灰搞电子1 小时前
Rust Attribute(属性标记)完整整理
开发语言·后端·rust
JNX_SEMI1 小时前
OC5138T 8V~100V超宽输入降压恒流驱动:覆盖12V汽车至72V电动车全场景
单片机·嵌入式硬件
tedcloud1231 小时前
God‘s Eye View 怎么搭建?在云服务器上部署一个实时 3D 地球可视化平台
linux·服务器·开发语言·后端·rust
Tairitsu_H2 小时前
[C++] C++11 Lambda与包装器深度解析
开发语言·c++·c++11·lambda·包装器
傲世仙尊2 小时前
从磁盘硬件到Ext文件系统-Linux磁盘级文件系统学习笔记
linux·运维·服务器·开发语言·c++
小羊没烦恼!2 小时前
Memory 记忆设计讨论:为什么 Agent Memory 不能只靠向量数据库?
java·开发语言·windows·算法·c#
智购科技无人售货机工厂2 小时前
2026自动售货机AI智能体架构:从47个小模型到33.7亿Token的工程实践~YH
android·人工智能·驱动开发·单片机·pandas