Seite 1 von 1
Serielle Schnittstelle lesen (verständnis Problem)
Verfasst: 06.11.2011 18:14
von christophe
Guten Abend
Ich habe ein verständnis Problem zur ReadSerialData() funktion:
Result = ReadSerialPortData(#SerialPort, *Buffer, Length)
"The number of bytes which are actually read are returned in 'Result'."
Bedeutet das nun die Anzahl der Bytes im Serial Buffer, oder der gesammte String definiert durch lenght?
AnzComByte = AvailableSerialPortInput(0)
Result = ReadSerialPortData(1, *Antwort, AnzComByte)
Ich im Moment keine Hardware, wo ich das Probieren kann.
Danke
Christophe
Re: Serielle Schnittstelle lesen (verständnis Problem)
Verfasst: 06.11.2011 18:22
von HeX0R
christophe hat geschrieben:Bedeutet das nun die Anzahl der Bytes im Serial Buffer, oder der gesammte String definiert durch lenght?
Wenn wir schon bei Verständnisproblem sind: Von welchem String redest du denn? Ich seh keinen.
Ausserdem ist das eigentlich ziemlich eindeutig, der Rückgabewert sagt dir wieviele Bytes denn nun in deinen angegebenen Puffer geschrieben wurden.
Re: Serielle Schnittstelle lesen (verständnis Problem)
Verfasst: 06.11.2011 19:32
von Falko
christophe hat geschrieben:....
Ich im Moment keine Hardware, wo ich das Probieren kann.
Danke
Christophe
Das ist kein Problem, da nimmst du eben die virtuelle Comschnittstelle und paarst zwei Com's miteinander.
Wenn dein Programm senden und empfangen kannt, starte es zweimal und gib jedem gestarteten
Programm seine zugeordnete COM-Adresse von com0com. Damit solltest du dein Programm testen können.
Hier der Link aus der PB - Suche:
http://www.purebasic.fr/german/viewtopi ... 71#p286171
Gruß,
Falko
Re: Serielle Schnittstelle lesen (verständnis Problem)
Verfasst: 06.11.2011 20:10
von christophe
Danke für die schnellen Antworten.
Mit String meine ich alle Bytes die von der Schnittstelle empfangen wurden (es wird ein String gesendet, darum diese Bezeichnung).
Wenn ich das richtig verstehe, dann werden alle Zeichen des Schnitstellen-Puffers an *Puffer übergeben und das Result hat dann die Anzahl der Zeichen die *Puffer enthält.
D.h. folgendes gibt mir den empfangen String:
String.S = peeks(*Puffer,result)
Sorry wegen meiner Dummy Frage, ich will einfach verstehen was ich mache. Beispiele kopieren ist nicht so mein Ding.
Christophe
Re: Serielle Schnittstelle lesen (verständnis Problem)
Verfasst: 06.11.2011 21:12
von HeX0R
christophe hat geschrieben:D.h. folgendes gibt mir den empfangen String:
Exakt!
(Allerdings nur, wenn du einen Ascii-String bekommst, bei Unicode musst du die Bytes erst noch in Chars umrechnen)
christophe hat geschrieben:Sorry wegen meiner Dummy Frage, ich will einfach verstehen was ich mache. Beispiele kopieren ist nicht so mein Ding.
Nah.. das war keine Dummy Frage, bast scho!