1、闪存
(1)每一个esp8266都配有一个闪存,闪存就类似于一个小硬盘。
(2)我们编译上传的程序就存储在闪存中。
(3)闪存的全称是Serial Peripheral Interface Flash File System(SPIFFS),串行外设接口Flash文件系统。
(4)闪存除了存放程序外,还可以将网页文件或系统配置文件存放在ESP8266的闪存中。
2、示例程序
通过程序像闪存文件系统写入信息。
/***************************************************************************
*程序目的: 如何向esp8266的SPIFFS中建立名为notes.txt,程序还向该文件写入信息
*日期: 2022.12.30
*作者: ZJD
---------------------------------------------------------------------------
函数说明:
SPIFFS.open(file_name, "w");
以上函数有两个参数:
第一个参数是被操作的文件名称,本示例中该文件为/zjd/notes.txt
第二个参数"w"代表写入文件信息
SPIFFS:
Serial Peripheral Interface Flash File System
串行外设接口Flash文件系统
***************************************************************************/
#include <FS.h>
String file_name = "/zjd/notes.txt"; // 被读取的文件位置和名称
void setup()
{
Serial.begin(115200); // 启动串口通讯
Serial.println("");
Serial.println("SPIFFS format start"); // SPIFFS格式化开始
SPIFFS.format(); // 格式化SPIFFS
Serial.println("SPIFFS format finish"); // SPIFFS格式化结束
if(SPIFFS.begin()) // 启动SPIFFS
{
Serial.println("SPIFFS Started.");
}
else
{
Serial.println("SPIFFS Failed to Start.");
}
File dataFile = SPIFFS.open(file_name, "w"); // 建立File对象用于向SPIFFS中file对象(即note.txt)写入信息
dataFile.println("Hello IOT World."); // 向dataFile写入字符串信息
dataFile.close(); // 完成文件写入后关闭文件
Serial.println("Finished Writing data to SPIFFS"); // 完成向SPIFFS写入数据
}
void loop()
{
}
3、程序说明
(1)#include <FS.h>
使用SPIFFS存储文件前,需要包含FS.h文件。
(2)SPIFFS.format();
对闪存文件系统进行格式化。这很像我们对U盘进行格式化的操作。无需每次使用闪存文件系统都对它进行格式化操作。
(3) SPIFFS.begin()
用于启动闪存文件系统。在每次使用闪存文件系统以前都需要执行这一操作。如果闪存文件系统启动成功,则返回真,否则返回假。
(4)File dataFile = SPIFFS.open(file_name, "w");
open函数用于对SPIFFS进行操作。该函数共有两个参数。第一个参数file_name是被操作的文件名称。第二个参数"w"代表操作为向SPIFFS写入文件信息。请注意:如果文件系统没有file_name文件,此操作将会在文件系统中建立该文件。如果文件系统有该文件,则程序将会重新建立该文件,即原有文件信息将会被覆盖。
(5)dataFile.println("Hello IOT World.");
用于向dataFile文件写入信息,信息内容为"Hello IOT World";
(6)dataFile.close();
用于关闭dataFile文件。结束文件操作后,应执行此操作。
4、设置、编译上传
(1)点击工具→Flash Size
选择合适的Flash空间大小。
(2)编译上传程序
(3)串口打印