Skip to main content

Zapis tekstne datoteke na microSD karticu

Što ovaj primjer prikazuje​

Zapišite redak teksta u datoteku text.txt na microSD kartici i ispišite svaki korak u Serial Monitoru. Zaslon se ne koristi. Kako biste datoteku pročitali natrag na zaslonu, pogledajte Čitanje tekstne datoteke s microSD kartice.

Otvorite Serial Monitor na 115200 baud prije nego što skica izvede svoje korake ili resetirajte pločicu nakon što se otvori.

Primjer koda​

Select Board
Inkplate7SPECTRA_SD_TXT_Write.ino
#include "Inkplate.h" // Include Inkplate library to the sketch
Inkplate display; // Create an object on Inkplate library
SdFile file; // Create SdFile object used for accessing files on SD card

char *fileName = "text.txt"; // The name of a file with the extension.

// The text you want to write in the file
char *dataToWrite = "Hello! This is the file writing example for Inkplate 7SPECTRA.\n"; // "\n" represents a new line

void setup()
{
Serial.begin(115200); // Init serial communication
display.begin(); // Init Inkplate library (you should call this function ONLY ONCE)

// Init SD card. Display if SD card is init propery or not.
if (display.sdCardInit())
{
Serial.println("SD Card ok!");

if (!file.open(fileName, FILE_WRITE))
{ // If it fails to create, send an error message to display, otherwise write to file.
Serial.println("Error while creating the file!");
display.sdCardSleep();
}
else
{
Serial.println("Writing in the file...");
file.write(dataToWrite); // Write data string in the file
Serial.println("Data has been written successfully!");
file.close(); // Close the file
display.sdCardSleep(); // Put sd card in sleep mode
}
}
else
{ // If card init was not successful, display error on screen, put sd card in sleep mode, and stop the program
// (using infinite loop)
Serial.println("SD Card error!");
display.sdCardSleep();
while (true)
;
}
}

void loop()
{
// Nothing...
}

Ovaj primjer koristi i SdFile, klasu za rad s datotekama iz SdFat koda koji je uključen u Inkplate biblioteku (nalazi se u mapi src/features/SdFat biblioteke), te Serial, koji dolazi s ESP32 paketom pločica (arduino-esp32). Njihove su funkcije u nastavku opisane onako kako ih skica koristi.

Korištene funkcije​

Inkplate()returns None

Stvara Inkplate objekt. Inkplate 7SPECTRA ima samo jedan šestobojni način rada, pa konstruktor ne prima argument načina rada.

ReturnsKonstruktor; nema povratne vrijednosti.

SdFilereturns None

Klasa za rad s datotekama iz SdFat koda uključenog u Inkplate biblioteku. Skica stvara jedan objekt, file, kako bi otvorila, zapisala i zatvorila datoteku na kartici.

ReturnsTip; nema povratne vrijednosti.

Serial.begin(unsigned long baud)returns void

Pokreće serijsku komunikaciju zadanom brzinom prijenosa (baud), ovdje 115200.

ReturnsNišta.

display.begin()returns void

Inicijalizira biblioteku, periferiju i međuspremnik okvira. Pozovite je jednom u setup().

ReturnsNišta.

display.sdCardInit()returns int16_t

Inicijalizira microSD karticu kako bi se datoteke na njoj mogle otvoriti.

ReturnsVrijednost različita od nule ako je kartica inicijalizirana; skica 0 tretira kao pogrešku.

Serial.println(value)returns size_t

Ispisuje tekst iza kojeg slijedi novi redak u Serial Monitor.

ReturnsBroj ispisanih bajtova.

file.open(const char *path, oflag_t oflag)returns bool

Otvara datoteku na kartici. Skica otvara text.txt s FILE_WRITE, radi pisanja u nju.

Returnstrue ako je datoteka otvorena.

file.write(const char *str)returns size_t

Zapisuje niz znakova u otvorenu datoteku. Skica zapisuje jedan redak teksta koji završava novim retkom.

ReturnsBroj zapisanih bajtova.

file.close()returns bool

Zatvara otvorenu datoteku kako bi podaci bili spremljeni na karticu.

Returnstrue ako je datoteka zatvorena.

display.sdCardSleep()returns void

Prebacuje microSD karticu u stanje mirovanja.

ReturnsNišta.

Što očekivati​

Ako kartica radi, Serial Monitor prikazuje tri koraka, a kartica sada sadrži text.txt s retkom iz skice.

Serial MonitorAutoscrollShow timestampNewline115200 baud
Message (Enter to send message to the board)
SD Card ok!
Writing in the file...
Data has been written successfully!

Ako se kartica ne može inicijalizirati, skica ispisuje SD Card error! i zaustavlja se. Ako se datoteka ne može stvoriti, ispisuje Error while creating the file!.

🔗Otvorite cjeloviti primjer

examples/Inkplate7SPECTRA/Advanced/SD/Inkplate7SPECTRA_SD_TXT_Write

→