Go Down

Topic: Probléme avec la fonction Ethernet.localIP(); (Read 429 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 tutos et plein de bonnes choses 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
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy