Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
PaulStoffregen 360c8c02ba Improve capacity detection and add block & file erase 9 роки тому
examples/TestHardware Always create writable files 9 роки тому
README.md Create README.md 9 роки тому
SerialFlash.h Improve capacity detection and add block & file erase 9 роки тому
SerialFlashChip.cpp Improve capacity detection and add block & file erase 9 роки тому
SerialFlashDirectory.cpp Improve capacity detection and add block & file erase 9 роки тому
keywords.txt Initial commit 9 роки тому

README.md

SerialFlash

Use SPI Flash memory with a filesystem-like interface.

Accessing Files

Open A File

SerialFlashFile file;
file = SerialFlash.open("filename.bin");
if (file) {  // true if the file exists

Read Data

char buffer[256];
file.read(buffer, 256);

File Size & Positon

file.size();
file.position()
file.seek();

Write Data

file.write(buffer, 256);

Several limitations apply to writing. Only previously unwritten portions of the file may be written. Files sizes can never change. Writes may only be done within the file’s original size.

file.erase();  // not yet implemented

Only files created for erasing can be erased. The entire file is erased to all 255 (0xFF) bytes.

Managing Files

Create New Files

SerialFlash.create(filename, size);
SerialFlash.createErasable(filename, size);

New files must be created using these funtions. Each returns true if the file is successfully created, or false if not enough space is available.

Once created, files can never be renamed or deleted. The file’s size can never change. Writing additional data can NOT grow the size of file.

Files created for erasing automatically increase in size to the nearest number of erasable blocks, resulting in a file that may be 4K to 128K larger than requested.

Directory Listing

SerialFlash.opendir();
SerialFlash.readdir(buffer, buflen, filelen);

A list of files stored in the Flash can be accessed with readdir(), which returns true for each file, or false to indicate no more files.

Full Erase

SerialFlash.erase();

while (SerialFlash.ready() == false) {
   // wait, 30 seconds to 2 minutes for most chips
}