Библиотека SD
Класс SD
Класс SD предоставляет функции для доступа к карте памяти SD и манипулирования файлами и каталогами.
Функции класса SD:
begin();
exists();
mkdir();
open();
remove();
rmdir().
Функция begin()
Функция begin() инициализирует библиотеку SD, назначая вывод для сигнала SS (Slave Select).
Синтаксис
SD.begin(); SD.begin(pin)
Параметр: pin — вывод для сигнала SS.
Возвращаемые значения: true — в случае удачного соединения, false — в случае неудачи.
Функция exists()
Функция exists() проверяет, существует на карте SD файл или каталог.
Синтаксис:
SD.exists(path)
Параметр: path — имя файла или каталога.
Возвращаемые значения: true — в случае удачного соединения, false — в случае неудачи.
Функция mkdir()
Функция mkdir() cоздает папку на карте памяти SD.
Синтаксис:
SD.exists(dirpath)
Параметр: dirpath — имя создаваемого каталога (папки). Если параметр задается в виде пути с несуществующими промежуточными каталогами, то создаются и все промежуточные каталоги.
Возвращаемые значения: true — если папка создана, false — в случае неудачи.
Функция rmdir()
Функция rmdir() удаляет папку с карты памяти SD, папка должна быть пустой.
Синтаксис:
SD.exists(dirpath)
Параметр: dirpath — имя удаляемой папки.
Возвращаемые значения: true — если папка удалена, false — в случае неудачи.
Функция open()
Функция open() открывает файл на карте памяти SD. Если файл не существует и открывается для записи, то он будет создан.
Синтаксис:
SD.open(filepath) SD.open(filepath, mode)
Параметры:
filepath — имя открываемого файла;
mode — режим открытия файла:
— открыть файл для чтения, начиная с начала файла;
— открыть файл для чтения и записи, начиная с конца файла. Возвращаемые значения: true — в случае удачи, false — в случае неудачи.
Функция remove()
Функция remove() удаляет файл с карты памяти SD.
Синтаксис:
SD.remove(filepath)
Параметр: filepath — имя удаляемого файла.
Возвращаемые значения: true — в случае удачи, false — в случае неудачи.
Класс File
Класс File предоставляет функции для чтения и записи отдельных файлов на карте памяти SD.
Функции класса File:
available();
close();
flush();
peek();
position();
print();
println();
seek();
size();
read();
write();
isDirectory();
openNextFile();
rewindDirectory().
Функция available()
Функция available() проверяет, есть ли доступный для чтения байт в открытом файле.
Синтаксис:
myFile.available()
Параметр: File — экземпляр файла File, возвращаемый SD.open(). Возвращаемое значение: число доступных для чтения байтов.
Пример использования функции available() представлен в примере
// открыть файл для чтения myFile = SD.open("test.txt",); if (myFile)
{
// чтение из файла и отправка
// в последовательный порт while (myFile.available())
{
Serial.write(myFile.read());
}
}
// закрыть файл myFile.close();
Функция close()
Функция close() закрывает файл и сохраняет записанные на него данные на карту SD.
Синтаксис:
myFile.close()
Параметр: File — экземпляр файла File, возвращаемый SD.open(). Возвращаемого значения нет.
Функция flush()
Функция flush() гарантирует, что любые байты, записанные в файл, физически сохранятся на SD-карте (при закрытии файла это делается автоматически).
Синтаксис:
myFile.flush()
Параметр: File — экземпляр файла File, возвращаемый SD.open(). Возвращаемого значения нет.
Функция peek()
Функция peek() считывает байт из файла из текущей позиции, не продвигаясь к следующей позиции.
Синтаксис:
myFile.peek()
Параметр: File — экземпляр файла File, возвращаемый SD.open(). Возвращаемые значения: байт из файла или –1, если байт не считан.
Функция position()
Функция position() возвращает текущую позицию в файле, куда следующий байт будет записываться или откуда считываться.
Синтаксис:
myFile.position()
Параметр: File — экземпляр файла File, возвращаемый SD.open(). Возвращаемое значение: текущая позиция в файле.
Функция print()
Функция print() записывает данные в файл, который был открыт для записи.
Синтаксис:
myFile.print(data) myFile.print(data, BASE)
Параметры:
File — экземпляр файла File, возвращаемый SD.open();
data — данные для записи в файл;
BASE — вид передаваемых символов:
• BIN — двоичный;
• DEC — десятичный;
• OCT — восьмеричный;
• HEX — шестнадцатеричный. Возвращаемого значения нет.
Функция println()
Функция println() записывает данные в файл, который был открыт для записи, данные дополняются символами перевода строки.
Синтаксис:
myFile.println() myFile.println(data) myFile.println(data, BASE)
Параметры:
File — экземпляр файла File, возвращаемый SD.open();
data — данные для записи в файл;
BASE — вид передаваемых символов:
• BIN — двоичный;
• DEC — десятичный;
• OCT — восьмеричный;
• HEX — шестнадцатеричный. Возвращаемого значения нет.
Функция seek()
Функция seek() устанавливает новую позицию в файле для чтения или записи байта.
Синтаксис:
myFile.seek(pos)
Параметры:
File — экземпляр файла File, возвращаемый SD.open();
pos — новая устанавливаемая позиция в файле для чтения или записи в файле. Возвращаемые значения: true — в случае удачи, false — в случае неудачи.
Функция size()
Функция size() возвращает размер файла в байтах.
Синтаксис:
myFile.size()
Параметр: File — экземпляр файла File, возвращаемый SD.open(). Возвращаемое значение: размер файла в байтах.
Функция read()
Функция read() возвращает байт из открытого файла. Синтаксис:
myFile.read()
Параметр: File — экземпляр файла File, возвращаемый SD.open(). Возвращаемое значение: полученный из файла байт.
Функция write()
Функция write() записывает данные в открытый для записи файл.
Синтаксис:
myFile.write(data) myFile.write(buf, len)
Параметры:
File — экземпляр файла File, возвращаемый SD.open();
data — передаваемые данные;
buf — массив символов или байтов;
len — размер символов в буфере для записи. Возвращаемое значение: количество записанных байтов.
Функция isDirectory()
Функция isDirectory() проверяет, является ли текущий файл каталогом или нет.
Синтаксис:
myFile.isDirectory()
Параметр: File — экземпляр файла File, возвращаемый SD.open(). Возвращаемое значение: true — если да, false — если нет.
Функция openNextFile()
Функция openNextFile() возвращает имя следующего по позиции файла из каталога.
Синтаксис:
myFile.openNextFile()
Параметр: File — экземпляр файла File, возвращаемый SD.open(). Возвращаемое значение: имя следующего файла из каталога.
Функция rewindDirectory()
Функция rewindDirectory() приведет вас обратно в первый файл в каталоге. Функция используется в сочетании с openNextFile().
Синтаксис:
rewindDirectory()
Параметр: File — экземпляр файла File, возвращаемый SD.open(). Возвращаемое значение: имя первого файла каталога.