So, der Stack läuft grundsätzlich. Webseiten werden prima ausgeliefert, NTP klappt auch.
Jetzt versuche ich, Daten via TCP auszutauschen (also weder HTTP noch Telnet noch FTP).
Dazu habe ich ein Windows-Programm geschrieben, welches eine Verbindung aufbaut und zyklisch Daten sendet. Der XMega gibt empfangene Daten auf der RS232 aus.
Das klappt prima!
Aber Daten vom XMEGA zurückzusenden klappt so gar nicht.
Ich sende jede Sekunde 5 Bytes. Gelegentlich kommen ein paar Bytes an.
Aber nach ca. 10 Telegrammen ist Schluss und der XMEGA bootet neu.
Wenn ich beim Empfang von Daten statt nur zu quittieren
Code: Alles auswählen
tcp_entry[index].status = ACK_FLAG;
create_new_tcp_packet(0, index);
ein 11-Byte Nutzdatenpaket generiere und dann mit
Code: Alles auswählen
tcp_entry[index].status = ACK_FLAG | PSH_FLAG;
create_new_tcp_packet(11, index);
sende, kommen die Daten an. Aber auch nur etwa 10-20mal. Dann ist wieder schluss.
Als Grundlage habe ich den TelnetD genommen.
Gebe ich z.B. in PUTTY etwas ein, erscheint es auch auf der RS232. Umgekehrt klappt aber auch das nicht.
Müssten nicht Daten, die via RS232 reinkommen mittels
telnetd_send_data(); zum Client übertragen werden?