Код: Выделить всё
rec.open(NameRecord, O_CREAT | O_TRUNC | O_RDWR); /* Имя нового - записываемого файла на SD-карту. */1
2
...
10
11
12
....
125
короче непорядок. Хотел бы добавить (вместо часов, экрана, и веб-радио) расширение файла wav и нули спереди цифр
т.е
0001.wav
0002.wav
.....
0354.wav
Что не получается. Начинается это все с этого
Код: Выделить всё
char NameRecord[4]; /* Имя нового - записываемого файла на SD-карту. */
byte RecordNumber; /* Номер записи - храним в EEPROM. в диапазоне 0..255. */Код: Выделить всё
void loop() { // THIS RUNS LOTS!
if (digitalRead(btnStart) == LOW && recPressed == 0) {
/* Записываем в RecordNumber, значение из ячейки №0 EEPROM, и прибавляем 1. */
RecordNumber = EEPROM.read(0) + 1;
/* Записываем в ячейку №0 EEPROM, увеличенное значение RecordNumber. */
EEPROM.write(0, RecordNumber);
/* Для конвертации из byte в char / из RecordNumber в NameRecord */
String str; //declaring string.
str = String(RecordNumber); //converting integer into a string.
str.toCharArray(NameRecord, 4); //passing the value of the string to the character array.
вот эти все конвертации кажутся мне подозрительными, неужели нельзя как-то проще сформировать имя файла?
ну и заканчивается все это здесь
Код: Выделить всё
void writeWavHeader() { // write out original WAV header to file
recByteSaved = 0;
// rec.open("rec00000.wav", O_CREAT | O_TRUNC | O_RDWR);
rec.open(NameRecord, O_CREAT | O_TRUNC | O_RDWR); /* Имя нового - записываемого файла на SD-карту. */