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
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.
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
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
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.
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ß
@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 |
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.