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:
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
Hallo,
hat mir jemand ein komplettes Beispiel- Projekt mit einem PIC + dem
W5500 Chip. Ich brauch irgend etwas zum Einstieg.
Wäre super wenn mir jemand ein simples Projekt als C-Code hätte. Das
Ziel wäre mit einem PIC18F4550 über den W5500 Chip Modbus (TCP) Befehle
an einen Slave zu schicken.
Ich hoffe ihr helft mir beim Einstieg 👍
Danke euch
Manuel M. schrieb:> Ziel wäre mit einem PIC18F4550 über den W5500 Chip Modbus (TCP) Befehle> an einen Slave zu schicken.
Das ist eine blöde Kombination. Der PIC18F4550 läuft erst ab 4V, der
W5500 ist aber ein 3.3V Chip. Der W5500 wird die 5V vom PIC vertragen,
der PIC aber möglicherweise die 3.3V-Signale vom W5500 nicht richtig
erkennen.
Du solltest tunlichst einen PIC18F45K50 verwenden. Der ist
pinkompatibel, aber neuer, wahrscheinlich billiger, hat einige Features
mehr und Bugs weniger, und er läuft auch mit 3.3V. Wenn das gesamte
System mit einer Betriebsspannung läuft, hast Du erstmal weniger
Fehlerquellen.
Ich habe für Ethernet und PIC immer PIC18F67J60 verwendet. Dafür hat
Microchip komplette Bibliotheken am Start.
fchk
Hallo Frank,
vielen Dank für den Input, den PIC18F67J60 schau ich mir in jedem Fall
an.
Für den Anfang möchte ich jedoch beim WIZNET W5500 Ethernet SPI Adapter
Modul mit dem bereits existierenden 18F4550 Eval Board bleiben um
grundsätzliches in Sachen Modbus Kommunikation zu lernen. Mit einem
Level-Shifter dazwischen sollte es ja gehen.
Mir scheint das Thema Ethernet und Modbus TCP doch recht komplex ich
hoffe immer noch auf ein minimalistisches Projekt zum Einstieg.
Grüße