Bonjour,
J'ai un projet a réaliser qui est de lire un fichier csv qui me servira a paramettrer mon programme.
Le problême est que je n'arriva pas a convertir mon char (nom[5]).
J'utilise la fonction sscanf qui fonctionne très bien avec les chiffres mais impossible de convertir mon HIGH du fichier csv.
Fichier CSV :
1000;HIGH
Code :
#include <SD.h>
#include <SPI.h>
File fichierlog;
char ID[5];
char nom[5];
int pos =0;
int de;
int test;
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {}
; // wait for serial port to connect. Needed for native USB port only
Serial.print("Initialisation de la carte SD ...");
if (!SD.begin(4)) {
Serial.println("initialisation echouee !");
return;
}
Serial.println("initialisation reussie.");
//----------------------------lecture du fichier csv---------------------------
Serial.println("Ouverture carte SD");
fichierlog = SD.open ("READTEST.csv", FILE_READ);
for (int x=0; x<4; x++)
{
fichierlog.seek(pos);
ID[x] = fichierlog.read();
pos++;
}
pos++;
for (int x=0; x<4; x++)
{
fichierlog.seek(pos);
nom[x] = fichierlog.read();
pos++;
}
pos++;
Serial.println(ID);
Serial.println(nom);
// convertion
sscanf(ID,"%d\n", &de);
sscanf(nom,"%c", &test);
Serial.println(de);
Serial.println(test);
}
void loop() {}
résultat :
Initialisation de la carte SD ...initialisation reussie.
Ouverture carte SD
1000
HIGH
1000
72
résultat souhaité :
Initialisation de la carte SD ...initialisation reussie.
Ouverture carte SD
1000
HIGH
1000
HIGH
Merci de votre aide