Bonjour, je travaille sur un projet avec le WIO Terminal de Seeduino. Je rencontre deux problèmes avec la gestion de la carte SD. Je voudrais pouvoir enregistrer les valeurs que renvoient 4 capteurs sur la carte.
Premièrement, si j'ai bien compris, après avoir ouvert un fichier sur la SD ( ou l'avoir créée si il n'existe pas), l'instruction FILE_WRITE impose l'écriture sur le fichier en partant de la fin de celui-ci. Lorsque j'ouvre le fichier sur la SD, il n'y a qu'une seule ligne comme si chaque nouvelle ligne venait écraser la précédente.
Mon deuxième problème est lié au moniteur série, l'écriture des fichiers sur la SD ne se fait que si le moniteur série est ouvert.
Il y avait une instruction :
// while (!Serial) {
// }
Mais je l'ai commenté et le problème persiste.
Je vous mets le code en entier:
#include <SPI.h>
#include <Seeed_FS.h>
#include "SD/Seeed_SD.h"
File myFile;
void setup() {
Serial.begin(115200);
// while (!Serial) {
// }
Serial.print("Initializing SD card...");
if (!SD.begin(SDCARD_SS_PIN, SDCARD_SPI)) {
Serial.println("initialization failed!");
while (1);
}
Serial.println("initialization done.");
}
void loop() {
// open the file. note that only one file can be open at a time,
// so you have to close this one before opening another.
myFile = SD.open("test.txt", FILE_WRITE);
// if the file opened okay, write to it:
if (myFile) {
Serial.print("Writing to test.txt...");
myFile.println("testing 1, 2, 3.");
// close the file:
myFile.close();
Serial.println("done.");
} else {
// if the file didn't open, print an error:
Serial.println("error opening test.txt");
}
// re-open the file for reading:
myFile = SD.open("test.txt", FILE_READ);
if (myFile) {
Serial.println("test.txt:");
// read from the file until there's nothing else in it:
while (myFile.available()) {
Serial.write(myFile.read());
}
// close the file:
myFile.close();
} else {
// if the file didn't open, print an error:
Serial.println("error opening test.txt");
}
}
Si quelqu’un a une idée, toute aide sera la bienvenue.
Merci d'avance