ich den Code unten laufen und die Serien geprüft, um zu sehen, dass es nur gedruckt „Initialisierung SD-Karte“ dann mit „Erledigt SD“ ein eingeben und dann stopptArduino Serien nicht druckt keine weiteren Zeichen
Voll Code:
#include <SPI.h>
#include <SD.h>
#define SD_PIN 10 //Pin at CS
#define BUZZER_PIN 3
#define TEMP_PIN A2
File sampletext;
int tempVoltage;
int celsius;
char *fileName;
void setup()
{
pinMode(BUZZER_PIN, OUTPUT);
Serial.begin(9600);
while(!Serial)
{
delay(100); // Wait to open a Serial
}
Serial.println("Initializing SD card...");
if (!SD.begin(10))
{
Serial.println("Failed SD card");
return;
}
Serial.println("Done SD card");
sprintf(fileName, "%s_%s.txt", __DATE__, __TIME__);
sampletext = SD.open(fileName, FILE_WRITE);
if(!sampletext)
{
Serial.println("Failed to write to file");
return;
}
Serial.println("Setup Done. Exit Serial to close program");
}
void loop()
{
if(!Serial)
{
sampletext.close();
return;
}
tempVoltage = analogRead(TEMP_PIN);
celsius = ((tempVoltage/1024.0)*5000)/10;
sampletext = SD.open(fileName, FILE_WRITE);
sampletext.println(__DATE__);
sampletext.print(__TIME__);
sampletext.print("Temp = ");
sampletext.print(celsius);
sampletext.print("C");
}
Seltsame Sache ist, dass es vollständig "Done SD Card" drucken soll, aber auf halbem Weg stoppt. Ich habe bereits die Fixed-Kodierung versucht, aber es funktioniert nicht.
Was meine Lösung für dieses