SendData
-
Hallo Allerseits
Habe schon wieder eine Frage an euch.
Über den Such Button habe ich nichts gefunden!Mein Problem ist folgendes:
Ich sende Daten via Serielle Schnittstelle.
Das sieht folgendermassen aus:int n=SendData("CI0",3); Memo1->Lines->Add("Written: "+IntToStr(n));Alles so gut soweit funktioniert, aber wie mache ich nach dem SendData("CI0...) ein ENTER Rein?
Ich hoffe ich habe es genügend beschrieben
Sonnige Grüsse aus der Schweiz
Jürg Schweizer
-
Du willst einen Zeilenwechsel senden, sehe ich das richtig? Der wird in C(++) dargestellt als \n:
int n=SendData("CI0\n",4);
-
Hallo
Ja du hast das Richtig verstanden.
Es müsste so aussehen:
CI1 oder CI0 (spielt keine Rolle) und nach dem ein Enter.
Also in einem Terminal muss ich das eingeben: CI1 und jetzt ein Enter.Nun muss ich das ganze auch in C++ machen, damit das Programm das, genau wie das Termial sendet auch sendet.
Gruss
Jürg Schweizer
-
Vielleicht habe ich im SendData einen Fehler.
Hier den SenData-Teil:int SendData(char Data[], int n) { DWORD NumberOfBytesWritten; bool b = WriteFile(hComSend,Data,n,&NumberOfBytesWritten,0); if(!b) ShowLastError("WriteFile"); return NumberOfBytesWritten; }Gruss
Jürg Schweizer
-
Das steht doch dort oben - du mußt das Zeichen \n mitsenden (als Zeilenumbruch) - und natürlich mußt du es auch mitzählen, wenn du die Länge des zu sendenden Strings ermittelst ("C10\n" sind 4 Zeichen).
(PS: Übrigens hat C++ die Funktion strlen(), die dir das Mitzählen abnehmen könnte)