Hallo zusammen!
Ich bin gerade dabei ein kleines Programm in C zu schreiben um einen
String, der an der seriellen Schnittstelle ankommt zu empfangen. Der
String ist maximal 160 Bytes lang. Das Öffnen des Ports und
initialisieren funktioniert soweit, jedoch komme ich beim String nicht
weiter.
Hier mal ein Ausschnitt, wie es bis jetzt läuft (allerdings werden hier
nur einzelne Bytes empfangen):
1 | void readdata(int iFd){
|
2 | char buf[160];
|
3 | int res=0;
|
4 |
|
5 | res = read(iFd,(char *)buf,160);
|
6 |
|
7 | printf("readfunction %d \n", res);
|
8 |
|
9 | if(res == -1) {
|
10 | printf("read was unsuccesfull\n");
|
11 | buf[0]='\0';
|
12 | }
|
13 | else {
|
14 | buf[res]='\0';
|
15 | printf("read succesfull\n",buf);
|
16 | printf("read:%s\n",buf);
|
17 | }
|
18 | printf("values read(printf):%s\n",buf);
|
19 | }
|
Ich scheitere momentan am Zusammensetzen der einzelnen Bytes zu einem
String. Vielleicht kann mir jemand an einem kleinen Beispiel das
Vorgehen erklären; ich bin Anfänger in Sachen C.
Vielen Dank schonmal!
Grüsse, Mike