TCP/IP Stack Microchip

OP #1696762
Lesenswert?
• ▲
▼
Guten Abend!

Es gibt ja den Microchip TCP/IP Stack. Wie kann ich diesen genau 
verwenden? Ich bin da noch nicht dahinter gekommen. Es gibt ja jetzt 
Chips wie den PIC18F67J60 der Ethernet integriert hat und den ENC28J60 
der über SPI angesprochen wird. Kann ich die gleichen Source Files für 
beide verwenden oder worauf muss ich dabei aufpassen?

BG
Andreas
Gast #1697325
Lesenswert?
• ▲
▼
Ja, kannst du. Musst nur in der Datei HardwareProfile.h einstellen, 
welchen Chip du hast und was an welchen Pin angeschlossen ist und los 
geht's. Welche Teile du vom Stack brauchst, kannst du auch ganz leicht 
in der TCPIPConfig.h einstellen (TCP, UDP, DHCP, FTP, NTP, Webserver, 
etc). Am Besten mal eine der vielen Beispielapplikationen von Microchip 
ansehen und als Grundlage verwenden. Bin selbst gerade dabei, im 
Praxissemester den Microchip Stack auf dem PIC32 aufzusetzten und war 
echt erstaunt, wie schnell man da zu brauchbaren Ergebnissen kommt. 
Solltest aber bedenken, dass der TCP-Stack, je nach Konfiguration schon 
mal 50-60K Programmscheicher benötigen kann und deine eigentliche 
Applikation da auch noch mit reinpassen muss. Das solltest du bei der 
Controllerauswahl berücksichtigen.
OP #1710017
Lesenswert?
• ▲
▼
Schönen Abend!

Ich habe mir nun einige Beispiele angesehen und die Dateien selbst ein 
wenig durchgesehen aber ich komme auf keinen grünen Zweig... :-(

Ich hätte gerne mal zum testen einen DHCP Client und dann die IP die er 
bekommt auf einem Display ausgegeben. Hat vielleicht jemand so ein 
Beiepiel?

BG
Andreas
OP #1724264
Lesenswert?
• ▲
▼
Da ich wieder mal Zeit hatte habe ich wieder mal ein wenig 
weitergebastelt. Jetzt bin ich wieder auf ein Problem gestossen.

Beim Kompilieren bekomme ich immer die Fehlermeldung: Error [1099] 
Invlaid MAX_UDP_SOCKETS value specified

Woran liegt das? Der Wert ist in der TCPIPConfig.h definiert.

BG
Andreas
Gast #1725178
Lesenswert?
• ▲
▼
Was hast du denn in der TCPIPConfig.h angegeben? Bei mir sieht die Zeile 
so aus:
1
#define MAX_UDP_SOCKETS     (10u)

Wahrscheinlich rennt dein Compiler in diese Präprozessordirektive rein:
(StackTsk.h Zeile 63)
1
 
2
// Check for potential configuration errors in "TCPIPConfig.h"
3
#if (MAX_UDP_SOCKETS <= 0 || MAX_UDP_SOCKETS > 255 )
4
#error Invalid MAX_UDP_SOCKETS value specified
5
#endif

Der angegebene Wert für die maximale Anzahl UDP Sockets muss also 
zwischen 1 und 255 liegen.
OP #1726367
Lesenswert?
• ▲
▼
@heinzhorst

Genau dort lauf ich rein. Was ich aber nicht verstehe denn in der Datei 
TCPIPConfig.h ist der Wert definiert.

TCPIPConfig.h
1
.
2
#define MAX_UDP_SOCKETS     (10u)
3
.

Aber ich bekomme die Fehlermeldung
1
...\ENC28J60\TCPIP Stack\stacktsk.h:67:Error [1099] Invlaid MAX_UDP_SOCKETS value specified

Das lustige dabei ist aber wenn ich das "#define MAX_UDP_SOCKETS 
(10u)" in die Datei stacktsk.h hineinschreibe funktioniert es. Dabei ist 
es jetzt in beiden Dateien vorhanden. Dann laufe ich aber als nächstes 
das hinein.
1
...\ENC28J60\TCPIP Stack\stacktsk.h:72:Error [1099] Invalid MAX_HTTP_CONNECTIONS value specified.

Trage ich nun "#define MAX_HTTP_CONNECTIONS (1u)" in die Datei 
stacktsk.h ein bekomme ich folgende Meldung. Dabei steht die Definition 
auch in beiden Dateien.
1
...\ENC28J60\TCPIP Stack\StackTsk.h:63:Error [1034] previous definition of macro 'MAX_HTTP_CONNECTIONS' does not agree

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.