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,可以直接用eeprom来保存。

#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.eps-01s是没有eepromd的,所以我们采用spiffs文件系统来保存。spiffs是在flash上存储的,也就是保存程序的地方,需要分配一下flash程序大小和文件大小。分配方式:

 如何使用:

    

#include<<FS.h>>//这个是esp8266自带的,不用你下载
void set_up(void){
   SPIFFS.begin();
   SPIIFS.exists("/note.txt");//存在返回1,不存在返回0
   File file=SPIFFS.open("/note.txt",a|w|r);//a追加,w覆盖,r,读,读文件需要检测文件是否存在
   file.sprintln("写一个字符串");
   file.write(char);//写一个字节
   char temp=file.read();//读一个字节
   file.close()//关闭文件和将缓冲区数据放到文件存储的地方
}
//读取的话这样读
void read_data(void){
 if(SPIIFS.exists("/note.txt")){//存在返回1,不存在返回0
     File file=SPIFFS.open("/note.txt",r);
     for(int i=0;i<file.size();i++){
         buff[i]=file.read();
        }
     file.close();
   }
}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值