www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik TCP/IP Stack Microchip


Autor: Andreas Riegebauer (blackpuma)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: heinzhorst (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andreas Riegebauer (blackpuma)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas Riegebauer (blackpuma)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: heinzhorst (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was hast du denn in der TCPIPConfig.h angegeben? Bei mir sieht die Zeile 
so aus:
#define MAX_UDP_SOCKETS     (10u)

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

Der angegebene Wert für die maximale Anzahl UDP Sockets muss also 
zwischen 1 und 255 liegen.

Autor: prinz3nroll3 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
beim Stack liegt auch ein Programm dabei welches automatisch die udp tcp 
ports definiert.
das ist ein config prg. für den stack schaue mal in den ordnern nach.
gruß

Autor: Andreas Riegebauer (blackpuma)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@heinzhorst

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

TCPIPConfig.h
.
#define MAX_UDP_SOCKETS     (10u)
.

Aber ich bekomme die Fehlermeldung
...\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.
...\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.
...\ENC28J60\TCPIP Stack\StackTsk.h:63:Error [1034] previous definition of macro 'MAX_HTTP_CONNECTIONS' does not agree

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.