Hallo alle zusammen,
ich versuche vergebend seit drei Tagen mit WIZNET Modul mit einem
externen Server zu verbinden. Interne Verbindung funktioniert wunderbar:
w5100 <-> switch <-> PC (Hercules SETUP > TCP Server).
Mein Programm:
uint8_t openTCP(void)
{
uint8_t mac[] = {0x00, 0x50, 0xC2, 0x18, 0x20, 0x89};
uint8_t gateway[] = {192,168,2,1};
uint8_t subnet[] = {255, 255, 255, 0};
uint8_t clientIP[] = {192, 168, 0, 110};
uint8_t clientPort[] = {0x04,0xE6};// 110 + 1024
uint8_t serverIP[] = {217,72,200,132};//<-google IP
uint8_t serverPort[] = {0, 80};
setMode(0x01); //TCP Mode
setSubnet(subnet);
setMac(mac);
setIP(clientIP);
setGateway(gateway);
setClientPort(clientPort);
setServerIP(serverIP);
setServerPort(serverPort);
//open, needs check that it did open
uint8_t status0 = 0;
_delay_ms(5);
writeAddress(0x0401, 0x01);
status0 = readAddress(0x0403);
while (status0 != 0x13)
{
_delay_ms(5);
//Close Socket
writeAddress(0x0401, 0x10);
status0 = readAddress(0x0403);
_delay_ms(5);
//Open Socket
writeAddress(0x0401, 0x01);
status0 = readAddress(0x0403);
}
//Connect
writeAddress(0x0401, 0x04);
//check established
delay_ms(10);
status0 = readAddress(0x0403);
uint8_t i = 0;
_delay_ms(200);
status0 = readAddress(0x0403);
while(status0 != 0x17 && i < 10)
{
i++;
_delay_ms(200);
status0 = readAddress(0x0403);
//UART Ausgabe
uchar(status0);
}
}
Wenn ich versuche mit einem externen Server z.B. von Google zu
verbinden, erhalte ich als UART-Ausgabe: SOCK_SYNSENT 0x15 (It is
shown in case that CONNECT commands are given to
Socket n Command Register(Sn_CR) at the SOCK_INIT status.
It is automatically changed to SOCK_ESTABLISH when the
connection is established.)
Verbindungsaufbau:
w5100 <-> Router (Speedport W 721V)
Ich denke, an den Quellcode liegt es nicht, da ich schon
unterschiedliche Codes inklusive original von Wiznet ausprobiert habe.
Unter meinem Verdacht liegt der Router.
Hat vielleicht jemand von Euch das gleiches Problem gehabt? oder hat ein
Tipp für mich :)
Ich würde mich wirklich über jeden Antwort freuen.
Vielen Herzlichen Dank.
vielen Dank für die Möglichkeit sich aus zu sprechen.
Das Problem hat sich gleich gelöst.
Meine gateway[] = {192,168,2,1}; und clientIP[] = {192, 168, 0, 110};
das hat dem Router nicht gefallen und er hat hat jeden möglichen Kontakt
mit externem Router geblockt. Nach dem ich die IP-Adresse wie folgt
geändert clientIP[] = {192, 168, 2, 110}; funktioniert wunderbar.
P.S. serverIP[] = {217,72,200,132};//<-google IP
diese IP-Adresse ist nicht von Google sondern von web.de
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.