mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC18 XC8 W5500 Fehler


Autor: PicUser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

versuche mich daran, das Ethernet-Modul WIZ550io an einem PIC zum laufen 
zu bekommen. Ich habe mir bei Wiznet die ioLibrary geladen und in mein 
Projekt eingefügt. Soweit so gut. Comilieren ließ sich das ganze schon 
dann mal ohne Fehler.

Nun wollte ich das DHCP Example implementieren. Nun scheitert es schon 
bei einem Struct:

Laut dem Beispiel in der main eingefügt:

#include <xc.h>
#include <string.h>
#include <stdio.h>
#include "mcc_generated_files/mcc.h"
#include "lcd.h"
#include "Ethernet/socket.h"
#include "Internet/DHCP/dhcp.h"

wiz_NetInfo gWIZNETINFO = { .mac = {0x00, 0x08, 0xdc, 0xab, 0xcd, 0xef},
                            .ip = {192, 168, 1, 2},
                            .sn = {255, 255, 255, 0},
                            .gw = {192, 168, 1, 1},
                            .dns = {0, 0, 0, 0},
                            .dhcp = NETINFO_DHCP };

Nun meckert der Compiler:
main.c:64: error: (195) expression syntax
main.c:65: error: (285) no identifier in declaration
main.c:65: error: (314) ";" expected
main.c:65: error: (285) no identifier in declaration
main.c:65: warning: (374) missing basic type; int assumed
main.c:66: error: (285) no identifier in declaration
main.c:66: error: (314) ";" expected
main.c:66: error: (285) no identifier in declaration
main.c:66: warning: (374) missing basic type; int assumed
main.c:67: error: (285) no identifier in declaration
main.c:67: error: (314) ";" expected
main.c:67: error: (285) no identifier in declaration
main.c:67: warning: (374) missing basic type; int assumed
main.c:68: error: (285) no identifier in declaration
main.c:68: error: (314) ";" expected
main.c:68: error: (285) no identifier in declaration
main.c:68: warning: (374) missing basic type; int assumed
main.c:69: error: (285) no identifier in declaration
main.c:69: error: (314) ";" expected

Die Zeilen betreffen das Struct. Diese ist im File wizchip_conf.h 
definiert und wird socket.h eingebunden:

/**
 * @ingroup DATA_TYPE
 *  Network Information for WIZCHIP
 */
typedef struct wiz_NetInfo_t
{
   uint8_t mac[6];  ///< Source Mac Address
   uint8_t ip[4];   ///< Source IP Address
   uint8_t sn[4];   ///< Subnet Mask
   uint8_t gw[4];   ///< Gateway IP Address
   uint8_t dns[4];  ///< DNS server IP Address
   dhcp_mode dhcp;  ///< 1 - Static, 2 - DHCP
}wiz_NetInfo;

Wo liegt der Fehler?

Gruß Sascha

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wo liegt der Fehler?

Vieleicht kann der Compiler die Methode der Initialisierung der Struktur 
nicht.

Dann musst du das irgendwo ungefähr so machen:
wiz_NetInfo gWIZNETINFO;

//Irgendwo in einer Initialisierungsroutine dann:
gWIZNETINFO.mac[0] = 0x00;
gWIZNETINFO.mac[1] = 0x08;
gWIZNETINFO.mac[2] = 0xdc;
//usw...
gWIZNETINFO.ip[0] = 192;
//usw...

Autor: Volker S. (vloki)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Probier mal:
wiz_NetInfo gWIZNETINFO = {{0x00, 0x08, 0xdc, 0xab, 0xcd, 0xef},  //.mac
                              {192, 168, 1, 2},  // .ip
                              {255, 255, 255, 0},
                              {192, 168, 1, 1},
                              {0, 0, 0, 0},
                              NETINFO_DHCP };

Autor: PicUser (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Hallo,

danke euch beiden. Beide Varianten funktionieren.

Gruß Sascha

Autor: Apollo M. (Firma: @home) (majortom)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,
es geht auch ohne änderungen, wenn du die letzte version nimmst und 
unter project config/compiler den standard c99 definierst!

mt

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.