Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

Kommentar:
Einfügen von HTML im Kommentar:

Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a>
Bild einfügen: <img src="BILDURL">
Text formatieren: <b>fetter Text</b>  <i>kursiver Text</i> <u>unterstrichener Text</u>
Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b>
C2 Quellcode formatieren: <code>Quellcode</code>
ASM Quellcode formatieren: <asm>Quellcode</asm>
(Innerhalb eines Quellcodeabschnitts ist kein html möglich.)
Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst !  

> Ich will zwischen zwei seriellen Geräten einen Datenaustausch realisieren. Der Master soll einen Link > herstellen und sobald dies geschehen ist, eine Statusanfrage senden, welche mit einem String > beantwortet wird. Der erste Teil funktioniert Problemlos - beim zweiten klappts einfach nicht. > > <code> > > > if COMLink==0 //Wenn Link nicht aktiv > { > s_message="LNK"; //Sende Link Request > hwcom.send(s_message,3); > if hwcom.receive(s_response,3,1000)!=3 //Wenn nicht 3 Zeichen innerhalb von einer Sekunde eintreffen - Link Error > COMLink=0; > else > {if strx.comp(s_response,"ACK") //Wenn ACK eintrifft, funktioniert die Kommunikation > {COMLink=1; > i=0;} > }; > } > > </code> > Der Teil funktioniert problemlos. Soweit, so gut. Ich sende dann als Antwort auf STS genau den String > 535-00060955233056232211111 zurück. 27 Zeichen. Es kommen auch 27 Zeichen an, die Prüfung mit > strx.comp ergibt -1 - also alles soweit so gut. > > Beim Parsen der Werte klappts dann aber nicht > <code> > else //Wenn Link aktiv, sende Statusanfrage > { > s_message="STS"; //Sende Status-Request > hwcom.flush(); > hwcom.send(s_message,3) > > lcdext.zahl2(hwcom.receive(s_response,27,5000)); //Ergibt 27 -> OK! > lcdext.zahl3(strx.comp(s_response,"535-00060955233056232211111")); //Ergibt -1 -> OK > lcdext.zahl2(str.length(s_response)); //Ergibt 0???? > > //s_response="535-00060955233056232211111" b.)so würde der Parser funktionieren > > str.clear(s_substring); > strx.cut(s_response,s_substring,0,3); //erste 3 Zeichen > V_BatVtg=strx.getNum(s_substring); //ergibt 0 über hwcom, 535 über b.) > lcdext.zahl4n1(V_BatVtg); > str.clear(s_substring); > strx.cut(s_response,s_substring,0,5); > V_TotBatCur=strx.getNum(s_substring); //negatives Vorzeichen wird interpretiert > > etc.etc. > </code> > > Was habe ich nicht bedacht? Der Buffer ist mit 32 Byte standardmässig ja genügend gross. > > Danke für euren Input! > > Newbie
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB