Dzień dobry,
Arduino Mega i taki kod:
#include <SPI.h>
#include <SD.h>
File myFile; File meFile; String file_name; String file_name2; int filenameNumber = 1; int fileData = 0;
void createlogFile() { String ext = ".txt"; String ext2 = ".tx"; while (1) { file_name = filenameNumber + ext; file_name2 = filenameNumber + ext2; if (SD.exists(file_name) == false) { break; } else { filenameNumber++; } } myFile = SD.open(file_name, FILE_WRITE); myFile.close();
if (SD.exists(file_name)) { Serial.print("1. Log file: "); Serial.print(file_name); Serial.println(" created."); } delay(50); meFile = SD.open(file_name2, FILE_WRITE); meFile.close();
if (SD.exists(file_name2)) { Serial.print("1. Log file: "); Serial.print(file_name2); Serial.println(" created."); } }
void updatelogFile() { delay(50); if (SD.exists(file_name)) { myFile = SD.open(file_name, FILE_WRITE); myFile.print("# "); myFile.println(fileData); myFile.close(); Serial.print("2. Log file: "); Serial.print(file_name); Serial.println(" updated."); } else { Serial.print("2. File "); Serial.print(file_name); Serial.println(" doesn't exist."); } delay(50); if (SD.exists(file_name2)) { meFile = SD.open(file_name2, FILE_WRITE); meFile.print("# "); meFile.println(fileData); meFile.close(); Serial.print("2. Log file: "); Serial.print(file_name2); Serial.println(" updated."); } else { Serial.print("2. File "); Serial.print(file_name2); Serial.println(" doesn't exist."); } }
void setup() { Serial.begin(115200); Serial.print(F("Initializing SD card...")); while (!SD.begin(53)) { Serial.println(F("initialization failed!")); } Serial.println(F("initialization done.")); createlogFile(); }
void loop() { updatelogFile(); delay(1000); fileData++; }
Kompiluje się to bez problemów i daje taki log:
Initializing SD card...initialization done.
- Log file: 2.txt created.
- Log file: 2.tx created.
- Log file: 2.txt updated.
- Log file: 2.tx updated.
- File 2.txt doesn't exist.
- File 2.tx doesn't exist.
- File 2.txt doesn't exist.
na karcie pliki oczywiście istnieją:
Volume in drive E has no label. Volume Serial Number is 6CE0-F3F8
Directory of E:\
01/01/2000 01:00 654 1.TXT 01/01/2000 01:00 8 1.TX 01/01/2000 01:00 3 2.TXT 01/01/2000 01:00 0 2.TX 23/01/2020 11:22 <DIR> libraries 23/01/2020 11:22 <DIR> hardware 26/01/2020 13:26 0 log2.txt 5 File(s) 665 bytes 2 Dir(s) 7,897,579,520 bytes freeBardzo proszę o podpowiedź co robię źle, dlaczego pliki nie są uaktualniane?
Pomożecie? Z góry bardzo dziękuję.