Go Down

Topic: Probléme avec la fonction Ethernet.localIP(); (Read 390 times) previous topic - next topic

Heloderma-kris

Mar 04, 2013, 03:35 pm Last Edit: Mar 04, 2013, 03:40 pm by Heloderma-kris Reason: 1
Salut je galère avec la fonction Ethernet.localIP();
lorsqu'on l'utilise avec
Code: [Select]
Serial.Print(Ethernet.localIP(););
pas de soucis sa marche ,
maintenant sur mon ecran itbd02 5" je voudrait l'afficher or pas de fonction "lcd.Print "qui marche direct et je cherche donc a la stocker dans un tableau pour la transformer en chaine de caractère,
qui elle pourra s'afficher sans problème,
je cherche donc a fair un truc comme cela:
Code: [Select]

iplocale=Ethernet.localIP();// reste a determiner la nature  de la variable iplocale
sprintf(Buff_Afichage,"%c",iplocale);
lcd.print(Buff_Afichage,5,200);

mais je n'y arrive pas sa plante en compile!
avez vous une astuce ?

Pac2Kro

Sauf erreur de ma part, les IP de la librairie sont des tableaux de 4 char.
donc iplocale[0] à iplocale[3].

Heloderma-kris

j'obtien le message d'ereur suivant:

Code: [Select]
reptilduino_essai_structure.ino: In function 'void Menu_Server()':
reptilduino_essai_structure:3041: error: incompatible types in assignment of 'IPAddress' to 'char [4]'
.


skywodd

Bonjour,


Sauf erreur de ma part, les IP de la librairie sont des tableaux de 4 char.
donc iplocale[0] à iplocale[3].

Non ce sont des objets de type IPAddress avec une surcharge sur l'opérateur crochets.

Avec LiquidCrystal ça donnerait un truc dans ce genre :
Code: [Select]
IPAddress ip = Ethernet.localIP();
lcd.print(ip[0], DEC);
lcd.write('.');
lcd.print(ip[1], DEC);
lcd.write('.');
lcd.print(ip[2], DEC);
lcd.write('.');
lcd.print(ip[3], DEC);
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Heloderma-kris

ok meri skywood je vais essayer a partir de ce que tu ma donné merci! car il me semblé bien que c'etait un type particulier de variable ,
mais comme je suis au boulot , je peut pas tester ....argg!!! :0

Heloderma-kris

bon j'ai ecrit ça mais sans savoir si sa va marcher en tout cas sa compile !
Code: [Select]
iplocale=Ethernet.localIP();
byte tableau[4];
for (byte i=0; i<4;i++){
tableau[i]=byte(iplocale[i]);}
sprintf(Buff_Afichage,"%i.%i.%i.%i",iplocale[0],iplocale[1],iplocale[2],iplocale[3]);
lcd.print(Buff_Afichage,5,200);

Heloderma-kris

bon en tout cas j'ai bien quelque chose qui apparait a l'ecran" 0.0.0.0" mais j'ai pas pour le moment de conection a une prise RJ45 de dispo donc il faudra que je teste plus tard... :smiley-fat:

Go Up