Hallo, Formum
Wir haben ein ETH_M32_EX mit ATMEGA644 und wollen über Telnet (IP) Daten
übertragen. Das funktioniert auch schon, allerdings tritt dabei das
Problem auf, daß die Anzeige plötzlich abbricht. Wir haben uns zum
Testen eine Routine geschrieben, die 200 mal das ABC zeilenweise
überträgt, aber zwischen der dreißigsten und siebzigsten Zeile wird
mitten in der Zeile nichts mehr angezeigt, obwohl der Controller noch
arbeitet. Manchmal wird am Ende noch die letzte Zeile angezeigt, danach
kann man wieder Kommandos eingeben.
Wir sind nicht sicher, ob die Datenübertragung abbricht oder die Anzeige
nicht hinterherkommt (Telnet unter Windows)
Für den Fall, daß die Übertragung einfach zu schnell geht, haben wir am
Ende der Schleife ein delay eingebaut, aber das hat leider nur eine
Verlangsamung, keine Verbesserung gebracht.
Weiß vielleicht jemand, woran das liegen könnte und ob man das Problem
beheben kann? Hier im Forum scheint damit noch nie jemand Probleme
gehabt zu haben.
Vielen Dank im Voraus, wenn jemand Zeit hat, es auszuprobieren.
Kant
Hier ist unserer Code: (aus cmd.c)
--------------------------------
1 | void command_testausgabe(void) // hier haben wir ein neues Kommando definiert.
|
2 | {
|
3 | for (int i = 0; i < 200; i++)
|
4 | {
|
5 | for (int j = 65; j < 65+26; j++) //gib die Buchstaben "A" bis "Z" aus
|
6 | {
|
7 | usart_write("%c", j);
|
8 | }
|
9 | usart_write(" %i\r\n", i);
|
10 | //_delay_ms(200); //nachdem eine Zeile fertig ist, warten
|
11 | }
|
12 | }
|
--------------------------------