Go Down

Topic: [RESOLU] Message d'erreur à la compilation (Read 123 times) previous topic - next topic

Zarb94

Nov 03, 2018, 07:01 pm Last Edit: Nov 03, 2018, 10:14 pm by Zarb94
Bonjour à tous,
Voila, je travaille actuellement sur la classe UDP, j'ai déjà fais quelques essais et maintenant, je prend tous mes croquis que j'assemble en plusieurs fonctions.
Là je veut vérifier ma compilation avec "Ctrl+R". C'est alors qu'une erreur survient: "La classe Udp a été renommée EthernetUdp." pourtant à la déclaration je met
Code: [Select]
EthernetUDP Udp;

Un bug du compilo? version 1.6.10. Jutilise win7
Je vous donne le setup de mon mon code:
Code: [Select]
#include <EEPROM.h>                                                       
//--------------------------------------------------------------------------
//Mémoire Flash
#include <avr/pgmspace.h>                                                   
//--------------------------------------------------------------------------
//Horloge
#include <Wire.h>                                                           
//--------------------------------------------------------------------------
//Bus SPI
#include <SPI.h>                                                           
//--------------------------------------------------------------------------
//Ethernet
#include <Ethernet.h>                                                       
#include <EthernetUdp.h>                                                   
//--------------------------------------------------------------------------
//SD Card
#include <SD.h>                                                             


//##########################################################################
//                               Setup
//##########################################################################
void setup() {


  //------------------------------------------------------------------------
  //initialisation des fonctions de communication
  //-----------------------------------
  Serial.begin(9600);                                                       // Communication série avec le moniteur
  while (!Serial);
  {}
  //-----------------------------------
  Wire.begin();                                                             // Liaison i2c

  //------------------------------------------------------------------------
  //Inscription dans l'EEprom des parametres de la carte
  if (EEPROM.read(0) != 1)                                                  // Si c'est le 1er démarage du Satellite
    EEPROM.update(0, 0);                                                    // adresse 0= Initialisation 0
  EEPROM.update(1, 1);                                                      // adresse 1= Type compris entre 0 et 2

  //------------------------------------------------------------------------
  // Ethernet
  byte mac[] = {0xAE, 0xAD, 0xBE, 0xEF, 0xAE, 0xCB};                        // L'adresse MAC du shield
  IPAddress ip       (190, 1, 10,  12);                                     // L'adresse IP par defaut que prendra le shield
  IPAddress my_dns   ( 190, 1, 10, 1 );
  IPAddress gateway  ( 190, 1, 10, 1 );
  IPAddress subnet   ( 255, 255, 255, 0 );
  IPAddress remoteIp (190, 1, 10, 1);                                     
  //------------------------------------------------------------------------
  // Instance EthernetUDP pour nous envoyer et recevoir des paquets
  EthernetUDP Udp;                                                          // Nom du serveur UDP
  unsigned int localPort = 8889;                                            // local port to listen on

  Ethernet.begin(mac, ip, my_dns, gateway, subnet);                         // Démarre une instance Ethernet
  Udp.begin(localPort);                                                     // Démarre une instance UDP

  //------------------------------------------------------------------------

  //########################################################################
  //                               Boot
  //########################################################################
 
  //Verification de l'adresse ip
  if (EEPROM.read(0) == 0)                                                  // Si le Satellite n'a jamais était parametré
  {
    write = "300000\t0";                                                    // Prise de contact initial
    UdpSend();                                                              // Fait une demande
    while (!UdpReceive())                                                   // Tant qu'il n'y a pas de réponse
    {}
    Analyse();                                                              // Regarde ce qui à était reçu et le stocke dans Recu[]
    if (atoi(Recu[0]) == 310000)                                            // Si une réponse à était reçu
    {
      EEPROM.update(2, (byte) atoi(Recu[1]));                               // Converti le char en int puis en byte et sauvegarde la valeur
    }
  }
  ip[3] = ((int) EEPROM.read(1) * 100) + ((int) EEPROM.read(2));            // Création de la terminaison de l'adresse IP
  Ethernet.begin(mac, ip, my_dns, gateway, subnet);                         // Attribution de l'adresse IP au satellite
  Udp.begin(localPort);                                                     // Démarre l'écoute
  Serial.print("Adresse IP du Satellite");  Serial.println(ip);
  //------------------------------------------------------------------------

}


Zarb94

Je suis confus!
J'ai trouvé la réponse à ma question.
Code: [Select]
EthernetUDP Udp; L'instance était déclaré dans le setup et pas à l'initialisation.



Go Up