Hallo,
ich versuche gerade eine ATMega8 mit C zu programmieren. Mein Problem
ist nun, dass ich vom Hyperterminal einen String an den Controller
senden will. Die Eingabe sollte mit der Entertaste beendet werden.
Diesen String möchte ich dann später wieder auf dem Hyperterminal
ausgeben. Dafür habe ich schon eine Funktion geschrieben die bis gestern
Abend ganz gut gelaufen hat, leider heute funktioniert die Sache mit dem
Entertaste nicht mehr richtig.
Beim Eingabe von Zeichen und dann drück von Entertaste springt der
Cursor am Anfang der Linie, und ich bekomme leider gar nicht mein
eingegebene Text mehr.
Ich behaupte es liegt irgend wo auf eine Eistellung der Tastatur meiner
Hyperterminal, weiß aber nicht wo, habe gerade alles probiert, geht
leider nicht.
hier der Code Schnitt
1 | while(1)
|
2 | {
|
3 |
|
4 | s=string;
|
5 | i=0;
|
6 |
|
7 | do
|
8 | {
|
9 | c=uart_getc();
|
10 | if (c!='\r')
|
11 | {
|
12 | *s=c;
|
13 | uart_putc( c );
|
14 | s++;
|
15 | i++;
|
16 | }
|
17 | }
|
18 | while( i!=length && c!='\r');
|
19 | *s=0;
|
20 |
|
21 | uart_puts( "\r\n" );
|
22 | uart_puts( "eingegebender Text: " );
|
23 | uart_puts( string );
|
24 | while (!(UCSRA & (1<<UDRE))) {}
|
25 | uart_puts( "\r\n" );
|
26 |
|
27 | }
|
28 | return (0);
|
29 | }
|
Kann mir jemand meinen Fehler sagen??
Danke schon mal für die Hilfe!
MFG