Gast
#1532717
Hallo Gemeinde, ich hab da mal ein Problem, bei dem ich langsam verzweifle. Ich möchte einen Komandoparser in meinen Mega32 bauen und dazu zunächst einmal einen String über die ser. Schnittstelle einlesen. Ich verwende Peter Fleury's uart.c um die Daten zu senden bzw zu empfangen. Da in seiner Lib keine funktion enthalten ist um Strings zu lesen habe ich folgende Routine hinzugefügt:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
Leider funktioniert das nicht so wie gedacht sondern es passieren zwei Dinge: 1. der Prompt wird angezeigt: Hier gehts los >> 2. bei der Eingabe werden die Buchstaben im Terminalfenster ausgegeben. Wenn ich Enter drücke springt die Anzeige an den Anfang der Zeile. Aber es wird nichts ausgegeben. 3. Wenn ich erneut Buchstaben eingebe werden diese wieder im Terminal dargestellt. Wenn ich dann zum zweiten Mal Enter drücke scheint sich der Controller zu reseten, denn ich bekomme wieder den Prompt Hier geht es los >> angezeigt. Kann mir mal einer einen Tipp geben, was ich da ggf. falsch mache? Es macht übrigens auch keinen untershcied, ob ich mit Int arbeite (welches in der lib ja im oberen Byte eventuelle Fehler anzeigt) und den unteren Teil für den String nutze oder ob ich (wie oben) direkt mit char arbeite. Gruß mws