Вт май 31, 2022 19:37:17
rec.open(NameRecord, O_CREAT | O_TRUNC | O_RDWR); /* Имя нового - записываемого файла на SD-карту. */
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-карту. */
Вт май 31, 2022 19:46:58
Novice user писал(а):а запись сектора должен идти непрерывно?
olegue писал(а):А как влияет на это все тип файловой системы в которую отформатирована флэшка?
Вт май 31, 2022 21:38:22
Вт май 31, 2022 22:02:10
Вт май 31, 2022 22:15:19
Вт май 31, 2022 22:17:10
Вт май 31, 2022 22:26:17
Вт май 31, 2022 22:42:49
String str; //declaring string.
//
str = String(RecordNumber); //converting integer into a string.
str.concat(".wav");
str.toCharArray(filename, sizeof(filename));
Вт май 31, 2022 22:52:22
Вт май 31, 2022 22:54:08
while (str.length() < 4)
{
str = "0" + str;
}
Вт май 31, 2022 22:55:35
else if (digitalRead(btnStart) == HIGH && recPressed == 1 && timer1on == 0) {
timer1 = millis();
timer1on = 1;
}
else if (digitalRead(btnStart) == HIGH && recPressed == 1 && timer1on == 1 && (millis() - timer1) > 2000) {
StopRec();
Вт май 31, 2022 23:00:44
Вт май 31, 2022 23:28:21
while (str.length() < 4)
{
str = "0" + str;
}
str = String(RecordNumber); //converting integer into a string.
while (str.length() < 4)
{
str = "0" + str;
}
str.concat(".wav");
str.toCharArray(filename, sizeof(filename));
Вт май 31, 2022 23:31:18
Вт май 31, 2022 23:38:47
Вт май 31, 2022 23:40:47
Вт май 31, 2022 23:46:18
Morroc писал(а):не рестартит ?
Morroc писал(а):это когда кнопку отжали, а потом снова нажали раньше 2 сек ? т.е. завершения записи не было ?
Вт май 31, 2022 23:49:55
Вт май 31, 2022 23:57:16
Morroc писал(а):тут да, надо добавить еще что то такое
else if (digitalRead(btnStart) == LOW && recPressed == 1 && timer1on == 1) {
timer1on = 0;
}
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.
while (str.length() < 4)
{
str = "0" + str;
}
str.concat(".wav");
str.toCharArray(filename, sizeof(filename));
/*str.toCharArray(NameRecord, 4); //passing the value of the string to the character array.*/
StartRec(); // launch StartRec method
timer1on = 0;
}
else if (digitalRead(btnStart) == HIGH && recPressed == 1 && timer1on == 0)
{
timer1 = millis();
timer1on = 1;
}
else if (digitalRead(btnStart) == LOW && recPressed == 1 && timer1on == 1) {
timer1on = 0;
}
else if (digitalRead(btnStart) == HIGH && recPressed == 1 && timer1on == 1 && (millis() - timer1) > 2000)
{
StopRec(); // launch StopRec method
/* Поэтому (Делаем программную перезагрузку). */
((void (*)())0x0000)(); /* Делаем программную перезагрузку - Arduino */
}
if (recByteCount % 1024 == 512 && recPressed == 1) {
rec.write(buf00, 512); // save buf01 to card
recByteSaved += 512;
}
if (recByteCount % 1024 == 0 && recPressed == 1) {
rec.write(buf01, 512); // save buf02 to card
recByteSaved += 512;
}
}
Ср июн 01, 2022 01:23:33
Martian писал(а):первый мой код для ардуино ))
Morroc писал(а):нам же два таких буфера надо,
olegue писал(а): Это- Победа!