Дополнительный файл `eecfbba=.@aa` на SD-карте
Я делаю проект, и мне нужна SD-карта. Все работало хорошо, но через некоторое время, когда я прочитал SD-карту с моего ПК (Windows 10 64 бит, Intel Core), я нашел файл с именем eecfbba=.@aa
. Он настолько большой, что почти съел один ГБ моей SD-карты. Но когда я попытался открыть его с помощью блокнота, блокнот сообщает мне, что на самом деле такого файла нет, и спрашивает, хочу ли я его создать. Я попытался удалить его, но проводник также сказал мне, что такого файла нет. Что это?
Это мой код:
#include <ArduinoJson.h>
// Версия 0.20.1.19.3.7:
// 19.01.2020, 16:10, тест записи кнопки, 7-я версия.
#include <SD.h>
#include <SPI.h>
#include <TMRpcm.h>
#include <Wire.h>
#include "RTClib.h"
//#включить <string.h>
RTC_DS1307 rtc;
String strdoc;
char daysOfTheWeek[7][2] = {"su", "mo", "tu", "we", "th", "fr", "sa"};
#define SD_ChipSelectPin 10 // 如果使用 arduino nano 328 可使用Pin4
TMRpcm audio;
void setup() {
audio.speakerPin = 8;
Serial.begin(9600);
pinMode(25, INPUT_PULLUP);
pinMode(7, INPUT_PULLUP);
if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
while (1);
}
if (! rtc.isrunning()) {
Serial.println("RTC is NOT running!");
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
else
{
Serial.println("rtc started");
}
if (!SD.begin(SD_ChipSelectPin)) {
Serial.println("SD Fail");
return;
} else {
Serial.println("SD OK");
}
audio.setVolume(6);
audio.CSPin = SD_ChipSelectPin;
StaticJsonDocument<200> doc;
doc["sensor"] = "gps";
doc["time"] = 1351824120;
JsonArray data = doc.createNestedArray("data");
data.add(48.756080);
data.add(2.302038);
serializeJson(doc, strdoc);
}
bool isrecording = false;
bool recordButtonPressed()
{
return (digitalRead(25) == LOW);
}
bool playButtonPressed()
{
return (digitalRead(7) == LOW);
}
void loop() {
delay(200);
// Ниже отформатированное значение даты и времени.
DateTime now = rtc.now();
// Ниже представлена сериализованная дата и время.
String filename = (String)(now.unixtime() % 10000000) + ".j";
// Serial.println(имя файла);
if (recordButtonPressed())
if (!isrecording)
{
isrecording = true;
audio.startRecording("test.wav", 16000, A0);
Serial.println("stt");
}
else
{
isrecording = false;
Serial.println("stp");
audio.stopRecording("test.wav");
}
Serial.println("sdsad991===`=`");
if (playButtonPressed())
{
audio.play("test.wav");
Serial.println("ply");
}
String dataString = strdoc;
if (!isrecording)
{
File dataFile = SD.open(filename, FILE_WRITE);
if (!dataFile) {
Serial.println(F("Failed to create file"));
}
else
{
dataFile.println(dataString);
Serial.println("Wrote string.");
dataFile.close();
Serial.println("Closed file.");
}
}
/* Please ignore this line */
// // audio.play("test.wav"); перерыв;аудио.громкость(1); перерыв;аудио.громкость(0); перерыв;аудио.stopPlayback(); перерыв;
}
PS Я использую Mega 2560, поэтому контакты MISO, MOSI, SCK и CS разные (то есть 50,51,52,10).
Редактировать 25 января 2020 г., 14:15 (по пекинскому времени) В 20 января у меня проблемы посерьезнее. Появляется все больше и больше больших файлов. У всех одинаковая ситуация. Подробности смотрите на этой фотографии (игнорируйте выбранные файлы): Imgur или 咱们中国人上不去imgur,用这个: File-up(直接下载)
@Chrimpyslime, 👍0
Обсуждение1 ответ
Лучший ответ:
Благодаря @Juraj я решил проблему. Удалил эти файлы, вручную отформатировав SD-карту.
Это не совсем ответ, вы можете увидеть ответ в этом комментарии под вопросом.
- Запись на SD-карту с частотой дискретизации 50 мс или меньше? У меня есть скетч, который записывает в sd каждую 1 секунду, но застревает на более высоких частотах дискретизации. Пожалуйста помоги?
- Как использовать SPI на Arduino?
- Как увеличить скорость записи на SD-карту в Ардуино
- Путаница между SPI и I2C для SSD1306 OLED
- Какие контакты можно использовать для выбора микросхемы (CS, CC) на Arduino Nano Every?
- Неправильная документация для выводов Mega2560 SPI?
- Сделать CS (chip select) для работаты в SPI (для и SD карты и OLED)
- Взаимодействие с датчиком SSI?
@ jsotola спасибо за быстрый ответ. Но теперь у меня большие проблемы: есть куча других файлов! [Скриншот моей SD-карты](https://imgur.com/a/6ncCD4T) (PS Не обращайте внимания на выбранные, это то, что я хочу. Сосредоточьтесь на других), @Chrimpyslime
Я хочу знать, что это такое и нужно ли мне что-то делать?, @Chrimpyslime
не используйте класс String, @Juraj
@Juraj спасибо, я попробую. Но не могли бы вы рассказать мне настоящую причину, по которой класс String будет создавать такие файлы?, @Chrimpyslime
https://majenko.co.uk/blog/evils-arduino-strings, @Juraj
Хорошо, большое спасибо., @Chrimpyslime