myFile=SD.open("entete.txt"); // ouvre le fichier en lecture
for (int i=0; i<myFile.size(); i++ ) {
myFile.seek(i); // se positionne à la position i
client.print(char(myFile.peek())); //envoie vers le client ethernet
}
myFile.close(); // fermeture du fichier
Quand ce code se trouve dans la boucle loop ça fonctionne.
Je n'arrive pas à creer une fonction....
exemple :
void FichierVersClient(String Fichier, Ethernetclient client)
{
myFile=SD.open(Fichier); // ouvre le fichier en lecture
for (int i=0; i<myFile.size(); i++ ) {
myFile.seek(i); // se positionne à la position i
client.print(char(myFile.peek())); //envoie vers le client ethernet
}
myFile.close(); // fermeture du fichier
}
J'ai besoin d'un peu d'aide avec les variables de passage
Merci pour votre aide....
Salut.
Pour moi, dans ta fonction, il te manque toute la partie "initialisation" du client ethernet.
Donc, soit tu l'initialise avant, de façon "global", et tu l'utilise directement dans ta fonction (sans la déclarer en variable), soit tu initialise le client ethernet dans ta fonction.
Merci pour ta réponse.
j'ai initialisé le client et utiliser une fonction pour écrire au client ça fonctionne.
c'est : SD.open("entete.txt") qui ne passe pas et voilà ce que l'IDE renvoie :
testSD_ethernet.ino: In function 'void FichierVersClient(String, EthernetClient)':
testSD_ethernet:151: error: no matching function for call to 'SDClass::open(String&)'
D:\arduino-1.0.4\libraries\SD/SD.h:74: note: candidates are: File SDClass::open(const char*, uint8_t)
A priori, d'après l'erreur, c'est le type string de l'argument fichier de ta fonction qui pose problème.
il faut que tu le déclare en char, le type attendu par la classe de référence.
la variable fichier doit être du type : const char*
void FichierVersClient (const char* Fichier,EthernetClient client){
myFile=SD.open(Fichier); // ouvre le fichier en lecture
for (int i=0; i<myFile.size(); i++ )
{
myFile.seek(i); // se positionne à la position i
client.write(char(myFile.peek())); // affiche le caractère courant
}
myFile.close(); // fermeture du fichier