Файловая система, хранение файлов, добавление при компиляции непосредственно на флеш памяти программ
Простой пример добавления внешнего файла к программе при компиляции.
Обращение к данным в форме файла хранимого в основной памяти программ, запись
// Very basic Spiffs example, writing 10 strings to SPIFFS filesystem, and then read them back
// For SPIFFS doc see : https://github.com/esp8266/Arduino/blob/master/doc/filesystem.md
// Compiled in Arduino 1.6.7. Runs OK on Wemos D1 ESP8266 board.
#include "FS.h"
void setup() {
Serial.begin(9600);
Serial.println("\nVery basic Spiffs example, writing 10 lines to SPIFFS filesystem, and then read them back");
SPIFFS.begin();
// Next lines have to be done ONLY ONCE!!!!!When SPIFFS is formatted ONCE you can comment these lines out!!
Serial.println("Please wait 30 secs for SPIFFS to be formatted");
SPIFFS.format();
Serial.println("Spiffs formatted");
}
void loop() {
// open file for writing
File f = SPIFFS.open("/f.txt", "w");
if (!f) {
Serial.println("file open failed");
}
Serial.println("====== Writing to SPIFFS file =========");
// write 10 strings to file
for (int i=1; i<=10; i++){
f.print("Millis() : ");
f.println(millis());
Serial.println(millis());
}
f.close();
// open file for reading
f = SPIFFS.open("/f.txt", "r");
if (!f) {
Serial.println("file open failed");
} Serial.println("====== Reading from SPIFFS file =======");
// write 10 strings to file
for (int i=1; i<=10; i++){
String s=f.readStringUntil('\n');
Serial.print(i);
Serial.print(":");
Serial.println(s);
}
// wait a few seconds before doing it all over again
Еще пример
#include "FS.h" void setup() { Serial.begin(115200); // always use this to "mount" the filesystem bool result = SPIFFS.begin(); Serial.println("SPIFFS opened: " + result); // this opens the file "f.txt" in read-mode File f = SPIFFS.open("/f.txt", "r"); if (!f) { Serial.println("File doesn't exist yet. Creating it"); // open the file in write mode File f = SPIFFS.open("/f.txt", "w"); if (!f) { Serial.println("file creation failed"); } // now write two lines in key/value style with end-of-line characters f.println("ssid=abc"); f.println("password=123455secret"); } else { // we could open the file while(f.available()) { //Lets read line by line from the file String line = f.readStringUntil('\n'); Serial.println(line); } } file.close(); } void loop() { // nothing to do for now, this is just a simple test }
Обратная связь
Интересуют вопросы реализации алгоритмов, программирования, выбора электроники и прочая информация, постараюсь осветить в отдельных статьях
пишите мне на netdm@mail.ru
Добавить комментарий