Re: String auswerten Kategorie: 2W-Bus (von Flo - 18.10.2004 13:19) | ||
Als Antwort auf String auswerten von Flo - 15.10.2004 13:57 | ||
| ||
> Hallo ich habe wieder ne frage bei der ihr mir vielleicht > helfen könnt und geht es darum das ich meinen > ADC10 Sensor adressieren möchte leider kommt > immer nur wenn ich ihn adressieren will ein fehlerhafter antwortstring zurück. > Kann mir vielleicht jemand sagen wie ich diesen > antwortstring auswerten kann. > > Danke im voraus > > Euer Fragensteller Flo Hier ist noch mein Quelltext und die Ausgaben am LCD thread main { // lokale Zeichenkette fuer LCD-Ausgabe string disp; // lokale Zeichenkette fuer TWB-Ein/Ausgabe string s; // lokale Variable vom Typ Long long l; int x; //Initialisierung des Externen Lcd-Display lcdext.init(); // loeschen des LC-Display lcd.clear(); // Initialisierung des TWB twb.init(); sleep 3000; // Zusammenstellen des Stringes fuer Commando "SET SENSOR ADDRESS" (Kommando 3) str.clear(s); str.putchar(s,0x03); // ! Kommando 3 str.putchar(s,0x55); // ! Sensoradresse bei gestecktem Jumper (85 dezimal) str.putchar(s,0x20); // ! frei vorgegebene Modemadresse str.putchar(s,0x00); // nicht relevant -> definiert auf 0 gesetzt str.putchar(s,0x00); // nicht relevant -> definiert auf 0 gesetzt str.putchar(s,0x00); // nicht relevant -> definiert auf 0 gesetzt str.putchar(s,0x01); // ! gewuenschte Sensoradresse str.putchar(s,0x00); // nicht relevant -> definiert auf 0 gesetzt x= twb.io(s); lcd.clear(); lcd.goto(0,0); //Ausgabe des Rückgabewertes der Funktion twb.io auf dem Lcd disp="x="; lcd.print (disp,str.length(disp)); lcd.goto (1,0); disp=""; str.putintf(disp,x,4); lcd.print(disp,str.length(disp)); sleep 2000; lcd.clear(); lcd.goto(0,0); //Ausgabe des Anwortstrings disp="s="; lcd.print(disp,str.length(disp)); lcd.goto (1,0); lcd.print(s,str.length(s)); sleep 2000; x=twb.rxd(); lcd.clear(); lcd.goto(0,0); //Ausgabe ob der Antwortrahmen vom 2W-Bus Modem empfangen worde ist disp="x2="; lcd.print(disp,str.length(disp)); disp=""; str.putintf(disp,x,5); lcd.goto(1,0); lcd.print(disp,str.length(disp)); sleep 2000; // Abfrage ob die Ausgabe ohne Fehler beendet und die Antwort empfangen wurde if (! x) // wenn keine Antwort dann LCD-Ausgabe "TIMEOUT" und Beenden des Programmes { wait lcd.ready(); lcd.clear(); disp="TIMEOUT"; lcd.print(disp, str.length(disp)); } // Ausgabe des Antwortstrings als Zahlenwert else { /* Schreiben des Zahlenwertes aus dem Bytepuffer des Antwortstrings und Ausgabe auf dem Externen Lcd */ l=mem.getlong(s,0); lcdext.clear(); lcdext.goto(0,0); disp="l="; lcdext.print(disp,str.length(disp)); disp=""; str.putlongf(disp,l,4); lcdext.goto(1,0); lcdext.print(disp); } // Programmende quit 1; } /* Ausgaben am LCD: X = -0001 S = 1. Zeichen: Y mit einem = Zeichen durch die mitte 2. Zeichen: Leerzeichen 3. Zeichen: f mit einem Horizontalen Strich unten 4. Zeichen: @ 5. Zeichen: @ 6. Zeichen: @ 7. Zeichen: f mit einem Horizontalen Strich unten 8. Zeichen: # X2 = -00001 l = 52429056 Falls jemand von euch wei� wo mein Problem liegt der helfe mir bitte es ist nähmlich wichtig. Danke schonmal im voraus Flo | ||
Antwort schreiben Antworten: Re: String auswerten (von André H. - 22.10.2004 3:59) |