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.