Bonjour,
Je récupère actuellement des informations sur un fichier config.txt présent sur la carte SD de mon shield Ethernet.
Voila le fichier :
[NOM]A01;
[TEMPS]162;
[IP]10.138.0.1;
[Identifiant]TOTO;
[PWD]TOTOTTE;
J'ai réussi à récupérer les informations grâce à deux personnes qui m'ont aidés sur le forum (Scroum et lesept).
Seulement, lorsque je récupère la variable temps, elle est de type String et j'ai besoin de faire des calculs avec.
Ma question est donc : Existe-il un moyen pour mettre cette variable en type double (Elle peut devenir très grande d'où l'utilisation du double) ?
Si non, comment faire ?
Merci.
Voila mon code :
#include <TextFinder.h>
#include <SPI.h>
#include <SD.h>
typedef struct
{
String nom;
String tempstotal;
String ip;
String id;
String pwd;
}machine;
double compteur = 0;
machine m1;
File conf;
File heures;
void setup() {
Serial.begin(9600);
pinMode(10, OUTPUT);
digitalWrite(10,HIGH);
int temp;
char buff[50];
if (!SD.begin(4)) { // Gère les erreurs
//Serial.println("Erreur de carte SD !");
for(;;);
}
conf=SD.open("config.txt", FILE_READ);
TextFinder finder(conf);
conf.seek(0);
temp=finder.getString("[NOM]",";",buff,50);
m1.nom=buff;
Serial.println(m1.nom);
temp=finder.getString("[TEMPS]",";",buff,50);
m1.tempstotal=buff;
Serial.println(m1.tempstotal);
temp=finder.getString("[IP]",";",buff,50);
m1.ip=buff;
Serial.println(m1.ip);
temp=finder.getString("[Identifiant]",";",buff,50);
m1.id=buff;
Serial.println(m1.id);
temp=finder.getString("[PWD]",";",buff,50);
m1.pwd=buff;
Serial.println(m1.pwd);
}
void loop()
{
Serial.println(m1.nom);
Serial.println(m1.tempstotal);
Serial.println(m1.ip);
Serial.println(m1.id);
Serial.println(m1.pwd);
delay(1000);
}