Re: get und put sind ok - receive ?? Kategorie: Programmierung (von André H. - 19.12.2003 8:53) | |
Als Antwort auf get und put sind ok - receive ?? von Rene Forster - 8.12.2003 22:10
| |
Hallo Rene, > Aber wie funktioniert eigentlich dann die receive-Funktion ? Hatte gedacht die wartet und liest > einen String ein. Wie Tom schon schrieb, wird mit receive ein Datenrahmen und kein String empfangen. Wenn Du einen String einlesen willst, welcher mit einem Enter (CR+LF) abgeschlossen ist (z.B. über Hyperterminal), so kannst Du die funktion hwcom.inputstr() benutzen. Ansonsten wäre mit receive ein kleiner Kunstgriff nötig: function recString(byte s[], long timeout) { s[31]= hwcom.receive(s,30, timeout); } Wenn Du aber nur einzelne Zeichen einlesen willst, funzt das mit hwcom.get() am besten. Jedoch sehe ich an Deinen Zeilen, da� Du noch mit den Original-Treibern/Modulen arbeitest. Probiere mal das ServicePack 2, dann wird das Leben einfacher. :-) > Habe die Datenübertragung momemtan mit byte realiesiert - es sind dabei aber nur 255 unterschiedliche > Befehle möglich. Aber wie gesagt - es funktioniert. Du kannst auch Problemlos mit zwei-Byte-Kommandos arbeiten. Dann sind's schon über 65000 Möglichkeiten. :-) Am besten so: byte in[2],cnt; ... ... cnt=hwcom.receive(in,2,500); Das erste Byte steht dann in in[0] und das zweite in in[1]. Mit cnt kannst Du dann überprüfen, ob wirklich zwei Bytes empfangen wurden. MfG André H. Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | |
Antwort schreiben Antworten: |