Go Down

Topic: [Résolu] Ecriture de données en Hexa sur carte SD (Read 736 times) previous topic - next topic

Brisebee

Aug 23, 2012, 08:18 am Last Edit: Aug 23, 2012, 12:37 pm by Brisebee Reason: 1
Bonjour,

Je rencontre une nouvelle difficulté :
Lorsque j'écris des données sur la carte SD, les données sont stockées comme des caractères ( 01 devient 31) , alors que je cherche à les stocker comme des byte (en hexadécimal).
J'ai certainement raté quelque chose.
Voici ma fonction ecriture SD

Code: [Select]


void ecritureSD()
{
 myFile=SD.open(pathFile,FILE_WRITE); // ouvre le fichier en écriture et crée fichier si existe pas
 if (myFile!=true) { // si échec ouverture
 lcd.print(" File Pb ");
 }
 
 else { // si le répertoire existe
   lcd.print(" File OK ");
   for (int i=0; i<24; i++ ) {
   myFile.seek(i); // se positionne à la position 0
   myFile.print(PHArrosage[i],HEX);
 }
 myFile.close(); // fermeture du fichier
 }
}



PHArrosage est un tableau de byte.

Si quelqu'un avait une idée.

Bien à vous

fdufnews

La méthode print formate les informations sous forme de chaine de caractères http://arduino.cc/en/Reference/FilePrint
Il faut utiliser la méthode write qui écrit des octets http://arduino.cc/en/Reference/FileWrite

Brisebee

Merci fdufnews pour ta réponse,

J'avais essayé avec write, mais c'est pareil, et comme on ne peut pas spécifier le format, j'ai remis print.

@+

Brisebee

En fait, j'ai dû m'emmêler les pinceaux.
J'ai tout repris, tranquillement, étape par étape en validant chaque fois, avec write et cela fonctionnement parfaitement.

Je passe en résolu.

Encore merci fdufnews

Go Up